2
concat
調用發生了什麼?我知道如果我通過merge
代替concat
,代碼正常工作,輸出爲foo
bar
qux
quux
。我已經閱讀了關於熱和冷的可觀察性,並且我知道如果在訂閱之前生成的值可能會發生熱的可觀察性,但是我的可觀察性下面有cold,所以我認爲情況並非如此。RxJS可觀察連續不工作
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
謝謝。你有什麼資料來確認/解釋爲什麼這是必要的? – thiagoh
@thiagoh這是'concat()'方法的一個正常行爲。 '按照先前完成**的順序訂閱觀察對象,發射值.' - https://www.learnrxjs.io/operators/combination/concat.html –
大理石圖是一種很好的視覺輔助材料[Concat ](http://reactivex.io/documentation/operators/concat.html) –