在执行下一个代码之前等待 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 => {......});
}
我想知道是否可以就我不确定的某些行为获得帮助。在我下面的代码中,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 => {......});
}