Rx.Observable.case(selector, sources, [elseSource|scheduler])
Uses selector to determine which source in sources to use. There is an alias 'switchCase' for browsers <IE9.
Arguments
selector
(Function
): The function which extracts the value for to test in a case statement.sources
(Object
): A object which has keys which correspond to the case statement labels.[elseSource|scheduler]
(Observable
|Scheduler
): The observable sequence that will be run if the sources are not matched. If this is not provided, it defaults toRx.Observabe.empty
with the specified scheduler.
Returns
(Observable
): An observable sequence which is determined by a case statement.
Example
var sources = {
'foo': Rx.Observable.return(42),
'bar': Rx.Observable.return(56)
};
var defaultSource = Rx.Observable.empty();
var source = Rx.Observable.case(
function () {
return 'foo';
},
sources,
defaultSource);
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
//=> Next: 42
//=> Completed
Location
File:
Dist:
Prerequisites:
- If using
rx.expermental.js
NPM Packages:
NuGet Packages:
Unit Tests: