You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
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 asap} scheduler. |
|
* |
|
* @example <caption>Use async scheduler to delay task</caption> |
|
* const task = () => console.log('it works!'); |
|
* |
|
* Rx.Scheduler.async.schedule(task, 2000); |
|
* |
|
* // After 2 seconds logs: |
|
* // "it works!" |
|
* |
|
* |
|
* @example <caption>Use async scheduler to repeat task in intervals</caption> |
|
* function task(state) { |
|
* console.log(state); |
|
* this.schedule(state + 1, 1000); // `this` references currently executing Action, |
|
* // which we reschedule with new state and delay |
|
* } |
|
* |
|
* Rx.Scheduler.async.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;
|
|
|