2015-09-03 32 views
1

我在与观察到A的结果结合到流可见的乙麻烦,使得:RxJS结合可观察

Rx.Observable.concat(
    A, 
    A.bind(valuesInA => 
    B.scan((acc, value) => { 
     acc.push(value); 
     return acc; 
    }, valuesInA))) 

因此,例如,如果是这种情况:

A: { onNext:[monkey], onComplete } 
B: { onNext:banana, onNext:tree, onNext: ... } 

我想获得的可观察:

AB: { onNext:[monkey], 
     onNext:[monkey, banana], 
     onNext:[monkey,banana,tree], 
     onNext: ... } 

如果有一个绑定运营商,并呼吁其回调时,其被叫做,T帽子会很棒,因为A完成的速度非常快(初始加载的值),然后B将其余的流过。

我该如何撰写?


Notes: B.scan(...) : Observable<Array<apeness>> so I need to subscribe its result 
+0

我发现https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators /flatmapobserver.md,它类似于我可以返回一个Observable,但它不是我所谓的“绑定”...有没有一个很好的答案,这不是flatmapobserver? – Henrik

回答

1

Flatmapscan,并且startWith

A.flatMap(a => B.scan((acc,v) => acc.concat(v), a).startWith(a)) 
.subscribe(...);