Buckets:
| import { QueueAction } from './QueueAction'; | |
| 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 | |
| * ``` | |
| */ | |
| export const queueScheduler = new QueueScheduler(QueueAction); | |
| /** | |
| * @deprecated Renamed to {@link queueScheduler}. Will be removed in v8. | |
| */ | |
| export const queue = queueScheduler; | |
Xet Storage Details
- Size:
- 2.1 kB
- Xet hash:
- d9c328881c546ad90af9f89af7b382b3a43ced5362678635c6d45984e4f2084e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.