我不完全理解這個操作符。理解組加入
https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/groupjoin.md
如何理解這些部分:
進行關聯兩個序列的基礎上重疊的持續時間的元素,並對結果進行分組。
leftDurationSelector(功能):選擇左觀察到的序列的每個元素,用於確定重疊的持續時間(表示爲一個可觀察序列)的函數。 rightDurationSelector(Function):用於選擇右側可觀察序列的每個元素的持續時間(表示爲可觀察序列)的函數,用於確定重疊。
從第四個參數:
(觀察不到)與從與左的順序的元件重疊的權利序列元件可觀察序列。
爲什麼這裏第二和第三參數是這樣嗎?定時器(0)對我們有什麼好處?我知道0秒後定時器(0)返回值0並完成。所以呢?
var xs = Rx.Observable.interval(100)
.map(function (x) { return 'first' + x; });
var ys = Rx.Observable.interval(100)
.map(function (x) { return 'second' + x; });
var source = xs.groupJoin(
ys,
function() { return Rx.Observable.timer(0); },
function() { return Rx.Observable.timer(0); },
function (x, yy) {
return yy.select(function (y) {
return x + y;
})
}).mergeAll().take(5);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function() {
console.log('Completed');
});
也許你知道更好的解釋來源?
我只是試着去了解這一點,因爲我覺得它稍後在使用RxJS編寫代碼時可能會有用。稍後將檢查這些資源 –