diff options
Diffstat (limited to 'node_modules/rxjs/src/internal/scheduler/async.ts')
| -rw-r--r-- | node_modules/rxjs/src/internal/scheduler/async.ts | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/rxjs/src/internal/scheduler/async.ts b/node_modules/rxjs/src/internal/scheduler/async.ts new file mode 100644 index 0000000..76f9dc8 --- /dev/null +++ b/node_modules/rxjs/src/internal/scheduler/async.ts @@ -0,0 +1,56 @@ +import { AsyncAction } from './AsyncAction'; +import { AsyncScheduler } from './AsyncScheduler'; + +/** + * + * Async Scheduler + * + * <span class="informal">Schedule task as if you used setTimeout(task, duration)</span> + * + * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript + * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating + * in intervals. + * + * If you just want to "defer" task, that is to perform it right after currently + * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`), + * better choice will be the {@link asapScheduler} scheduler. + * + * ## Examples + * Use async scheduler to delay task + * ```ts + * import { asyncScheduler } from 'rxjs'; + * + * const task = () => console.log('it works!'); + * + * asyncScheduler.schedule(task, 2000); + * + * // After 2 seconds logs: + * // "it works!" + * ``` + * + * Use async scheduler to repeat task in intervals + * ```ts + * import { asyncScheduler } from 'rxjs'; + * + * function task(state) { + * console.log(state); + * this.schedule(state + 1, 1000); // `this` references currently executing Action, + * // which we reschedule with new state and delay + * } + * + * asyncScheduler.schedule(task, 3000, 0); + * + * // Logs: + * // 0 after 3s + * // 1 after 4s + * // 2 after 5s + * // 3 after 6s + * ``` + */ + +export const asyncScheduler = new AsyncScheduler(AsyncAction); + +/** + * @deprecated Renamed to {@link asyncScheduler}. Will be removed in v8. + */ +export const async = asyncScheduler; |
