source: trip-planner-front/node_modules/rxjs/src/internal/scheduler/asap.ts

Last change on this file was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 1.7 KB
Line 
1import { AsapAction } from './AsapAction';
2import { AsapScheduler } from './AsapScheduler';
3
4/**
5 *
6 * Asap Scheduler
7 *
8 * <span class="informal">Perform task as fast as it can be performed asynchronously</span>
9 *
10 * `asap` scheduler behaves the same as {@link asyncScheduler} scheduler when you use it to delay task
11 * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing
12 * code to end and then it will try to execute given task as fast as possible.
13 *
14 * `asap` scheduler will do its best to minimize time between end of currently executing code
15 * and start of scheduled task. This makes it best candidate for performing so called "deferring".
16 * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves
17 * some (although minimal) unwanted delay.
18 *
19 * Note that using `asap` scheduler does not necessarily mean that your task will be first to process
20 * after currently executing code. In particular, if some task was also scheduled with `asap` before,
21 * that task will execute first. That being said, if you need to schedule task asynchronously, but
22 * as soon as possible, `asap` scheduler is your best bet.
23 *
24 * ## Example
25 * Compare async and asap scheduler<
26 * ```ts
27 * import { asapScheduler, asyncScheduler } from 'rxjs';
28 *
29 * asyncScheduler.schedule(() => console.log('async')); // scheduling 'async' first...
30 * asapScheduler.schedule(() => console.log('asap'));
31 *
32 * // Logs:
33 * // "asap"
34 * // "async"
35 * // ... but 'asap' goes first!
36 * ```
37 */
38export const asapScheduler = new AsapScheduler(AsapAction);
39
40/**
41 * @deprecated renamed. Use {@link asapScheduler}
42 */
43export const asap = asapScheduler;
Note: See TracBrowser for help on using the repository browser.