mirror of
https://github.com/fooflington/selfdefined.git
synced 2025-06-12 13:41:40 +00:00
update
This commit is contained in:
44
node_modules/rxjs/_esm2015/Scheduler.js
generated
vendored
Normal file
44
node_modules/rxjs/_esm2015/Scheduler.js
generated
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/**
|
||||
* An execution context and a data structure to order tasks and schedule their
|
||||
* execution. Provides a notion of (potentially virtual) time, through the
|
||||
* `now()` getter method.
|
||||
*
|
||||
* Each unit of work in a Scheduler is called an {@link Action}.
|
||||
*
|
||||
* ```ts
|
||||
* class Scheduler {
|
||||
* now(): number;
|
||||
* schedule(work, delay?, state?): Subscription;
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @class Scheduler
|
||||
*/
|
||||
export class Scheduler {
|
||||
constructor(SchedulerAction, now = Scheduler.now) {
|
||||
this.SchedulerAction = SchedulerAction;
|
||||
this.now = now;
|
||||
}
|
||||
/**
|
||||
* Schedules a function, `work`, for execution. May happen at some point in
|
||||
* the future, according to the `delay` parameter, if specified. May be passed
|
||||
* some context object, `state`, which will be passed to the `work` function.
|
||||
*
|
||||
* The given arguments will be processed an stored as an Action object in a
|
||||
* queue of actions.
|
||||
*
|
||||
* @param {function(state: ?T): ?Subscription} work A function representing a
|
||||
* task, or some unit of work to be executed by the Scheduler.
|
||||
* @param {number} [delay] Time to wait before executing the work, where the
|
||||
* time unit is implicit and defined by the Scheduler itself.
|
||||
* @param {T} [state] Some contextual data that the `work` function uses when
|
||||
* called by the Scheduler.
|
||||
* @return {Subscription} A subscription in order to be able to unsubscribe
|
||||
* the scheduled work.
|
||||
*/
|
||||
schedule(work, delay = 0, state) {
|
||||
return new this.SchedulerAction(this, work).schedule(state, delay);
|
||||
}
|
||||
}
|
||||
Scheduler.now = Date.now ? Date.now : () => +new Date();
|
||||
//# sourceMappingURL=Scheduler.js.map
|
Reference in New Issue
Block a user