gpt4 book ai didi

javascript - 如何检查多个异步操作是否已完成?

转载 作者:行者123 更新时间:2023-11-29 19:04:07 24 4
gpt4 key购买 nike

我有一个案例,我想在 10 个异步调用完成后做一些事情

let i = 0;
let array = [];

do {
this.service.getSomething(i).subscribe(response => {
array[i] = response;
});
} while (i < 10);

// how can I know when the 10 async calls have completed?

我怎样才能做到这一点?

最佳答案

这取决于您是否事先知道异步操作(阅读 Observables/Promises)。

例如,如果您可以组成一个 Observable 数组,那么最简单的方法是使用 forkJoin:

let observables = [ ... ];
Observable.forkJoin(observables)
.subscribe(results => /* whatever */);

否则,您可以将它们mergeMap 成一个链,只听complete 信号:

Observable.range(1, 10) // or whatever
.mergeMap(i => /* return Observable here */)
.subscribe(undefined, undefined, () => console.log('all done'));

关于javascript - 如何检查多个异步操作是否已完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44262507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com