2015-09-03 229 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(...);