Rx.Scheduler
Last updated
Was this helpful?
Last updated
Was this helpful?
Provides a set of static methods to access commonly used schedulers and a base class for all schedulers.
The follow example shows the basic usage of an Rx.Scheduler
.
rx.js
Scheduler Constructor
##Scheduler Instance Methods
##Scheduler Class Properties
##Rx.Scheduler(now, schedule, scheduleRelative, scheduleAbsolute)
Initializes a new instance of the Rx.Scheduler
. This is meant for Scheduler implementers and not normal usage.
now
(Function): Function which gets the current time according to the local machine's system clock.
schedule
(Function): Function to schedule an action immediately.
scheduleRelative
(Function): Function used to schedule an action in relative time.
scheduleAbsolute
(Function): Function used to schedule an action in absolute time.
rx.js
Rx.Scheduler.prototype.catch(handler)
Returns a scheduler that wraps the original scheduler, adding exception handling for scheduled actions. There is an alias of catchException
for browsers < IE9.
handler
(Function): Handler that's run if an exception is caught. The exception will be rethrown if the handler returns false
.
(Scheduler): Wrapper around the original scheduler, enforcing exception handling.
rx.js
Rx.Scheduler.prototype.now()
Gets the current time according to the Scheduler implementation.
(Number): The current time according to the Scheduler implementation.
rx.js
Rx.Scheduler.prototype.schedule(action)
Schedules an action to be executed.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleWithState(state, action)
Schedules an action to be executed with state.
state
(Any): State passed to the action to be executed.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleWithAbsolute(duetime, action)
Schedules an action to be executed at the specified absolute due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
dueTime
(Number): Absolute time at which to execute the action.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleWithAbsoluteAndState(state, duetime, action)
Schedules an action to be executed at the specified absolute due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
state
(Any): State passed to the action to be executed.
dueTime
(Number): Absolute time at which to execute the action.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleWithRelative(duetime, action)
Schedules an action to be executed after the specified relative due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
dueTime
(Number): Relative time at which to execute the action.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleWithRelativeAndState(state, duetime, action)
Schedules an action to be executed at the specified relative due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
state
(Any): State passed to the action to be executed.
dueTime
(Number): Relative time at which to execute the action.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursive(action)
Schedules an action to be executed recursively.
action
(Function): Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursiveWithState(state, action)
Schedules an action to be executed with state.
state
(Any): State passed to the action to be executed.
action
(Function): Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursiveWithAbsolute(duetime, action)
Schedules an action to be executed recursively at a specified absolute due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
dueTime
(Number): Absolute time at which to execute the action for the first time.
action
(Function): Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursiveWithAbsoluteAndState(state, duetime, action)
Schedules an action to be executed recursively at a specified absolute due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
state
(Any): State passed to the action to be executed.
dueTime
(Number): Absolute time at which to execute the action for the first time.
action
(Function): Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursiveWithRelative(duetime, action)
Schedules an action to be executed recursively at a specified relative due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
dueTime
(Number): Relative time at which to execute the action for the first time.
action
(Function): Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.scheduleRecursiveWithAbsoluteAndState(state, duetime, action)
Schedules an action to be executed recursively at a specified relative due time. Note this only works with the built-in Rx.Scheduler.timeout
scheduler, as the rest will throw an exception as the framework does not allow for blocking.
state
(Any): State passed to the action to be executed.
dueTime
(Number): Relative time at which to execute the action for the first time.
action
(Function): Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.schedulePeriodic(period, action)
Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval
for the base implementation.
period
(Number): Period for running the work periodically in ms.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.prototype.schedulePeriodicWithState(state, period, action)
Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval
for the base implementation.
state
(Any): State passed to the action to be executed.
period
(Number): Period for running the work periodically in ms.
action
(Function): Action to execute.
(Disposable): The disposable object used to cancel the scheduled action (best effort).
rx.js
Rx.Scheduler.normalize(dueTime)
Normalizes the specified time span value to a positive value.
dueTime
(Number): The time span value to normalize.
(Number): The specified time span value if it is zero or positive; otherwise, 0
rx.js
Rx.Scheduler.currentThread
Gets a scheduler that schedules work as soon as possible on the current thread. This implementation does not support relative and absolute scheduling due to thread blocking required.
rx.js
Rx.Scheduler.immediate
Gets a scheduler that schedules work immediately on the current thread.
rx.js
Rx.Scheduler.timeout
Gets a scheduler that schedules work via a timed callback based upon platform.
For all schedule calls, it defaults to:
Node.js: uses setImmediate
for newer builds, and process.nextTick
for older versions.
Browser: depending on platform may use setImmediate
, MessageChannel
, window.postMessage
and for older versions of IE, it will default to script.onreadystatechanged
, else falls back to window.setTimeout
.
For all relative and absolute scheduling, it defaults to using window.setTimeout
.
rx.js