在执行下一个代码之前等待 forkjoin 完成

Wait for forkjoin to finish before executing next code

我想知道是否可以就我不确定的某些行为获得帮助。在我下面的代码中,clients.forEach() 给出了一个错误,我假设是因为它与 forkJoin() 同时执行。所以客户是空的。有没有办法让下一个代码“等待” forkJoin() 函数先完成,而不必将 clients.forEach() 放在 subscription() 函数中。 clients.forEach() 代码实际上又长又乱。

forkJoin({
      xclients: this.clients$,
      xkycMetrics: this.clientsBySHID$
    }).subscribe(({xclients, xkycMetrics}) => {
      clients = xclients,
      kycMetrics = xkycMetrics
    });

      // Client Data
      clients.forEach(client => {......});

确保数据准备就绪的唯一方法是添加到该订阅函数。您始终可以将逻辑分离到它自己的函数中并调用它:

}).subscribe(({xclients, xkycMetrics}) => {
  clients = xclients,
  kycMetrics = xkycMetrics
  this.mapClients(clients)
});

mapClients(clients: type) {
   clients.forEach(client => {......});
}