Rx.Observable.prototype.join(right, leftDurationSelector, rightDurationSelector, resultSelector)
Correlates the elements of two sequences based on overlapping durations.
Arguments
right
(Observable
): The right observable sequence to join elements for.leftDurationSelector
(Function
): A function to select the duration (expressed as an observable sequence) of each element of the left observable sequence, used to determine overlap.rightDurationSelector
(Function
): A function to select the duration (expressed as an observable sequence) of each element of the right observable sequence, used to determine overlap.resultSelector
(Any
): A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. The parameters are as follows:- (
Any
) Element from the left source for which the overlap occurs. - (
Any
) Element from the right source for which the overlap occurs.
- (
Returns
(Observable
): An observable sequence that contains result elements computed from source elements that have an overlapping duration.
Example
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
.join(
ys,
function () { return Rx.Observable.timer(0); },
function () { return Rx.Observable.timer(0); },
function (x, y) { return x + y; }
)
.take(5);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
// => Next: first0second0
// => Next: first1second1
// => Next: first2second2
// => Next: first3second3
// => Next: first4second4
// => Completed
Location
File:
Dist:
NPM Packages:
NuGet Packages:
Unit Tests: