【发布时间】:2018-04-03 18:25:57
【问题描述】:
这是方法代码。我正在尝试使用 zip 等待两个可观察对象完成,但没有任何日志,甚至没有调用 fooProvider 中的 http 调用。
let obsArray: Observable<any>[] = [];
this.idArray.forEach(id => {
obsArray.push(this.fooProvider.bar(id, 1));
});
Observable.zip(obsArray)
.subscribe(res => console.log(res));
【问题讨论】:
-
如果您需要等到所有 Observables 完成,您应该使用
forkJoin代替。否则尝试使用Observable.zip(...obsArray)解压数组。 -
@martin 可以解包吗?我认为
zip在所有可观察对象都发出一个值时发出了一个值。所以不仅当所有的都完成了。forkjoin会是唯一的解决方案吗? -
它与 forkJoin 一起工作。谢谢!
标签: javascript typescript rxjs