Javascript RxJs6-静态合并观察值数组
我有一个由用户动态创建的对象列表。每个对象都有一个Javascript RxJs6-静态合并观察值数组,javascript,reactive-programming,rxjs6,Javascript,Reactive Programming,Rxjs6,我有一个由用户动态创建的对象列表。每个对象都有一个单击$可观察,我想将所有这些单击$流合并到一个流中 我尝试了rxjsimport中的merge静态操作符。使用对流的直接引用: sub = merge(list[0].click$, list[1].click$) .subscribe(e => { console.log('My click event', e); }) 一切如期进行 但是,当我在订阅下一个调用中使用click$数组时,我收到了一个可观
单击$
可观察,我想将所有这些单击$
流合并到一个流中
我尝试了rxjs
import中的merge
静态操作符。使用对流的直接引用:
sub = merge(list[0].click$, list[1].click$)
.subscribe(e => {
console.log('My click event', e);
})
一切如期进行
但是,当我在订阅下一个调用中使用click$
数组时,我收到了一个可观察的对象,而不是我的click事件
const streams= [];
list.forEach(o => { streams.push(o.click$); });
sub = merge(streams).subscribe(e => {
console.log(e); // e is an observable ???
});
为什么??我做错了什么
这里有一个类似的实现,但有相同的错误:,因为它是一个数组。您可以使用JavaScript中的…
操作符来扩展数组。如果你这样做,一切都会很好
有关更多信息,请访问
我添加了代码,让你明白我的意思。列表是具有单击$
属性的对象数组。此数组仅映射到单击$
,然后使用…
运算符展开
sub=merge(…list.map(item=>item.click$).subscribe(console.log)