在我的情况下,有多个请求可以首先并行执行,在这些请求完成后,另一个请求将与之前的结果一起发送,伪代码看起来像
let uploads$ = [obs1$, obs2$, obs3$];
Observable.forkJoin(uploads$).mergeMap(
res => {
// never get called if uploads$ = []
let data = someCalculation(res);
return this.http.post('http://endpoint/api/resource', data);
}
).subscribe(
res => {
}
);
如果uploads$ = []
,则内部mergeMap永远不会被调用。
有人可以帮忙吗?我在RxJS 5.4