我在将可观察的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
答案 0 :(得分:1)
Flatmap
,scan
和startWith
:
A.flatMap(a => B.scan((acc,v) => acc.concat(v), a).startWith(a))
.subscribe(...);