我的问题不在于使用代码,但我结合数组流的解决方案似乎很脆弱,我相信Rxjs有更好的解决方案。以下是我所写的例子:
var all$ = Rx.Observable.combineLatest(
basicArray$, fastArray$, slowArray$,
function(basic, fast, slow){
return basic.concat(fast).concat(slow);
});
我的目标是三个 - >只有当三个都是新的时才会出现。
答案 0 :(得分:1)
使用实用程序(如lodash的flatten
方法),您可以使用以下方法完成相同的操作:
var all$ = Rx.Observable.combineLatest(basicArray$, fastArray$, slowArray$)
.map(_.flatten);
但是,查看您的上一条评论,我不认为您的代码按预期工作。只要有任何流发出,combineLatest
生成的流就会发出新项目。
根据您的说明,zip
运算符可能更合适:https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/zip.md