[英]subscribe to array of nested Observables
我有一個包含對象的數組,每個對象都有兩個道具,其中一個是可觀察值
let myArray = [{def: 'name1', value: EventEmitter_}, {def: 'name2', value: EventEmitter_}]
我想做的是訂閱 Observables 並返回發生更改的根對象
到目前為止我只得到具體的價值
myArray.forEach(e => {
e.value.subscribe(e => console.log(e))
})
我嘗試使用merge
merge(myArray).subscribe((v)=> {
console.log(v)
})
但是如果 Observable 是嵌套的,那將不起作用
您可以通過管道傳輸價值流。
myArray.forEach(e => {
e.value.pipe(
map(v => [e.def, v]),
).subscribe(([d, v]) => console.log(`Root ${d} returned %{v}`));
})
obs = merge(
...this.array.map((x: any) =>
x.value.pipe(map((res) => ({ def: x.def, response: res })))
)
);
您將使用屬性“def”和屬性“response”轉換的“observables”合並。 所以你只需要一個訂閱
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.