| 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 |
| * ``` |
| * |
| * @static true |
| * @name async |
| * @owner Scheduler |
| */ |
| export declare const async: AsyncScheduler; |