Library for composing asynchronous and event-based operations in JavaScript using Observable sequences and fluent query operators
—
Operators for combining multiple observable sequences including merge, zip, combineLatest, and concat operations.
Merges multiple observable sequences into one sequence.
/**
* Merges multiple observable sequences into one sequence
* @param {...Observable} sources - Observable sequences to merge
* @returns {Observable} Merged observable sequence
*/
Rx.Observable.merge = function(...sources);
/**
* Merges multiple observables with delayed error propagation
* @param {...Observable} sources - Observable sequences to merge
* @returns {Observable} Merged observable sequence with delayed errors
*/
Rx.Observable.mergeDelayError = function(...sources);Merges with another observable sequence.
/**
* Merges with another observable sequence
* @param {Observable} other - Observable sequence to merge with
* @returns {Observable} Merged observable sequence
*/
observable.merge = function(other);Concatenates multiple observable sequences.
/**
* Concatenates multiple observable sequences sequentially
* @param {...Observable} sources - Observable sequences to concatenate
* @returns {Observable} Concatenated observable sequence
*/
Rx.Observable.concat = function(...sources);Combines multiple observables using a result selector function.
/**
* Combines multiple observables into one by merging their values in pairs
* @param {...Observable} sources - Observable sequences to zip
* @param {function} [resultSelector] - Function to combine corresponding values
* @returns {Observable} Zipped observable sequence
*/
Rx.Observable.zip = function(...sources, resultSelector);Usage Example:
var obs1 = Rx.Observable.fromArray([1, 2, 3]);
var obs2 = Rx.Observable.fromArray(['a', 'b', 'c']);
var zipped = Rx.Observable.zip(obs1, obs2, function(x, y) {
return x + y;
});
// Emits: '1a', '2b', '3c'Combines the latest values from multiple observables.
/**
* Combines the latest values from multiple observables
* @param {...Observable} sources - Observable sequences to combine
* @param {function} [resultSelector] - Function to combine latest values
* @returns {Observable} Combined observable sequence
*/
Rx.Observable.combineLatest = function(...sources, resultSelector);Usage Example:
var obs1 = Rx.Observable.interval(1000);
var obs2 = Rx.Observable.interval(1500);
var combined = Rx.Observable.combineLatest(obs1, obs2, function(x, y) {
return {x: x, y: y};
});
// Emits latest combination whenever either observable emitsCombines source with latest values from other observables.
/**
* Combines source with latest values from other observables
* @param {...Observable} sources - Observable sequences to get latest values from
* @param {function} resultSelector - Function to combine values
* @returns {Observable} Combined observable sequence
*/
observable.withLatestFrom = function(...sources, resultSelector);Returns the first observable to emit a value.
/**
* Returns the first observable sequence to emit a value
* @param {...Observable} sources - Observable sequences to choose from
* @returns {Observable} First observable sequence to emit
*/
Rx.Observable.amb = function(...sources);Switches to the latest inner observable.
/**
* Switches to the latest inner observable sequence
* @returns {Observable} Observable sequence switching to latest inner observable
*/
observable.switch = function();Prepends values to the observable sequence.
/**
* Prepends values to the observable sequence
* @param {...*} values - Values to prepend
* @returns {Observable} Observable sequence with prepended values
*/
observable.startWith = function(...values);