gpt4 book ai didi

angular - 如何展平 Observable 中的 Observable 数组

转载 作者:行者123 更新时间:2023-12-02 17:32:40 25 4
gpt4 key购买 nike

我正在尝试展平嵌套的 Observable,但我没有让它工作:

 this.af.object('test/father')
.map(res => {
res.namedKeys = [];
for (let el in res.keys) {
res.namedKeys.push(this.af.object(`test/keys/${el}`))
}
return res
})
.flatMap(res => Observable.combineLatest(res))
.subscribe(res => {
console.log('The final response:', res);
});

我想获取数组中 Observables 的实际数据。在过去的两天里,我尝试了很多不同的事情,但最终,我要么什么也没收到,要么仍然是包含可观察对象的数组。上面的代码没有返回任何内容。

最佳答案

很难看出问题是什么,因为您没有提供任何结构信息。

认为你的意思是:

 for (let el in Object.keys(res))

而不是

 for (let el in res.keys) 

此外 - combineLatest 需要一个可观察的。您没有提供:

考虑使用这个:

.flatMap(res => Rx.Observable.combineLatest(Rx.Observable.of(res)))

演示(使用 rxjs 5,它使用 switchmap 而不是 flatMap)
http://jsbin.com/cuvisecipi/1/edit?html,js,console,output

一个更好的演示,它说明了类似的(来自数组)解决方案:

http://jsbin.com/punoxitino/1/edit?html,js,console,output

关于angular - 如何展平 Observable 中的 Observable 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43652927/

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