RxJS绑定Observable

时间:2015-09-03 14:23:04

标签: reactive-programming rxjs

我在将可观察的A的结果绑定到流可观察的B时遇到问题,这样:

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: ... }

如果有一个绑定操作符,并且在被调用者完成时调用了它的回调,那就太好了,因为A完成得相当快(初始加载值),然后B流其余部分。

我该如何撰写?

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

1 个答案:

答案 0 :(得分:1)

FlatmapscanstartWith

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