RxJS可观察的concat无法正常工作

时间:2017-10-11 02:31:43

标签: javascript rxjs observable reactivex

concat电话怎么回事?我知道,如果我将concat替换为merge,则代码可以正常运行,输出为foo bar qux quux。我已经读过Hot和Cold observables了,我知道如果在订阅之前生成值可能会发生热观察,但我的观察结果是cold,所以我想情况并非如此。 / p>

const Rx = require('rxjs');

const observable1 = Rx.Observable.create((observer) => {
  observer.next('foo');
  observer.next('bar');
  return observer;
});
const observable2 = Rx.Observable.create((observer) => {
  observer.next('qux');
  observer.next('quux');
  return observer;
});
const result1 = observable1.concat(observable2);
result1.subscribe((x) => console.log(x));

// outputs
foo
bar

https://codepen.io/thiagoh/pen/WZyrRL

1 个答案:

答案 0 :(得分:6)

我相信observer1需要complete(),然后concat可以开始输出observer2。

修改CodePen