gpt4 book ai didi

rxjs, forkJoin(array).mergeMap(...), 内部 mergeMap 永远不会被调用

转载 作者:行者123 更新时间:2023-12-03 19:47:59 25 4
gpt4 key购买 nike

在我的情况下,首先可以并行执行多个请求,在这些请求完成后,另一个请求将与先前的结果一起发送,伪代码看起来像

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

最佳答案

它不称为 b/c,在可观察的源上没有发射。要创建一个,如果 observables 为空,您可以使用 defaultIfEmptytoArray运营商。

const observables = [];
Rx.Observable.forkJoin(observables)
.defaultIfEmpty([]) // or .toArray()
.mergeMap(results => Rx.Observable.of(results.length))
.subscribe(console.log);

关于rxjs, forkJoin(array).mergeMap(...), 内部 mergeMap 永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50247784/

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