Every new change
This commit is contained in:
68
node_modules/rxjs/internal/scheduler/queue.d.ts
generated
vendored
Normal file
68
node_modules/rxjs/internal/scheduler/queue.d.ts
generated
vendored
Normal file
@ -0,0 +1,68 @@
|
||||
import { QueueScheduler } from './QueueScheduler';
|
||||
/**
|
||||
*
|
||||
* Queue Scheduler
|
||||
*
|
||||
* <span class="informal">Put every next task on a queue, instead of executing it immediately</span>
|
||||
*
|
||||
* `queue` scheduler, when used with delay, behaves the same as {@link asyncScheduler} scheduler.
|
||||
*
|
||||
* When used without delay, it schedules given task synchronously - executes it right when
|
||||
* it is scheduled. However when called recursively, that is when inside the scheduled task,
|
||||
* another task is scheduled with queue scheduler, instead of executing immediately as well,
|
||||
* that task will be put on a queue and wait for current one to finish.
|
||||
*
|
||||
* This means that when you execute task with `queue` scheduler, you are sure it will end
|
||||
* before any other task scheduled with that scheduler will start.
|
||||
*
|
||||
* ## Examples
|
||||
* Schedule recursively first, then do something
|
||||
* ```ts
|
||||
* import { queueScheduler } from 'rxjs';
|
||||
*
|
||||
* queueScheduler.schedule(() => {
|
||||
* queueScheduler.schedule(() => console.log('second')); // will not happen now, but will be put on a queue
|
||||
*
|
||||
* console.log('first');
|
||||
* });
|
||||
*
|
||||
* // Logs:
|
||||
* // "first"
|
||||
* // "second"
|
||||
* ```
|
||||
*
|
||||
* Reschedule itself recursively
|
||||
* ```ts
|
||||
* import { queueScheduler } from 'rxjs';
|
||||
*
|
||||
* queueScheduler.schedule(function(state) {
|
||||
* if (state !== 0) {
|
||||
* console.log('before', state);
|
||||
* this.schedule(state - 1); // `this` references currently executing Action,
|
||||
* // which we reschedule with new state
|
||||
* console.log('after', state);
|
||||
* }
|
||||
* }, 0, 3);
|
||||
*
|
||||
* // In scheduler that runs recursively, you would expect:
|
||||
* // "before", 3
|
||||
* // "before", 2
|
||||
* // "before", 1
|
||||
* // "after", 1
|
||||
* // "after", 2
|
||||
* // "after", 3
|
||||
*
|
||||
* // But with queue it logs:
|
||||
* // "before", 3
|
||||
* // "after", 3
|
||||
* // "before", 2
|
||||
* // "after", 2
|
||||
* // "before", 1
|
||||
* // "after", 1
|
||||
* ```
|
||||
*
|
||||
* @static true
|
||||
* @name queue
|
||||
* @owner Scheduler
|
||||
*/
|
||||
export declare const queue: QueueScheduler;
|
Reference in New Issue
Block a user