Rx.Observable.generateWithRelativeTime(initialState, condition, iterate, resultSelector, timeSelector, [scheduler])
Generates an observable sequence by iterating a state from an initial state until the condition fails.
Arguments
initialState
(Any
): Initial state.condition
(Function
): Condition to terminate generation (upon returning false).iterate
(Function
): Iteration step function.resultSelector
(Function
): Selector function for results produced in the sequence.timeSelector
(Function
): Time selector function to control the speed of values being produced each iteration, returning integer values denoting milliseconds.[scheduler=Rx.Scheduler.timeout]
(Scheduler
): Scheduler on which to run the generator loop. If not provided, defaults to Scheduler.timeout.
Returns
(Observable
): The generated sequence.
Example
// Generate a value with an absolute time with an offset of 100ms multipled by value
var source = Rx.Observable.generateWithRelativeTime(
1,
function (x) { return x < 4; },
function (x) { return x + 1; },
function (x) { return x; },
function (x) { return 100 * x; }
).timeInterval();
var subscription = source.subscribe(
function (x) {
console.log('Next: ' + x);
},
function (err) {
console.log('Error: ' + err);
},
function () {
console.log('Completed');
});
// => Next: {value: 1, interval: 100}
// => Next: {value: 2, interval: 200}
// => Next: {value: 3, interval: 300}
// => Completed
Location
File:
Dist:
Prerequisites:
- if
rx.time.js
NPM Packages:
NuGet Packages:
Unit Tests: