使用 RxJS 中的 forkJoin 和 map 操作符,将所有的 Observable 组成一个 Observable 数组,并使用 forkJoin 等待所有 Observable 完成,然后执行代码。 示例代码:
const observables = [exampleObservable1(), exampleObservable2(), exampleObservable3()];
forkJoin(observables).subscribe(results => { // 所有 Observable 方法完成后执行此代码 console.log('所有订阅已完成,结果:', results); });
function exampleObservable1() { const subject = new Subject(); setTimeout(() => { subject.next('observable1'); subject.complete(); }, 1000); return subject.asObservable(); }
function exampleObservable2() { const subject = new Subject(); setTimeout(() => { subject.next('observable2'); subject.complete(); }, 2000); return subject.asObservable(); }
function exampleObservable3() { const subject = new Subject(); setTimeout(() => { subject.next('observable3'); subject.complete(); }, 3000); return subject.asObservable(); }