Sha256: b037acf77691ca22ecbc88592c138a732b7629755110a6a338551a58bbe23db1

Contents?: true

Size: 1.56 KB

Versions: 49

Compression:

Stored size: 1.56 KB

Contents

import { AsapAction } from './AsapAction';
import { AsapScheduler } from './AsapScheduler';

/**
 *
 * Asap Scheduler
 *
 * <span class="informal">Perform task as fast as it can be performed asynchronously</span>
 *
 * `asap` scheduler behaves the same as {@link async} scheduler when you use it to delay task
 * in time. If however you set delay to `0`, `asap` will wait for current synchronously executing
 * code to end and then it will try to execute given task as fast as possible.
 *
 * `asap` scheduler will do its best to minimize time between end of currently executing code
 * and start of scheduled task. This makes it best candidate for performing so called "deferring".
 * Traditionally this was achieved by calling `setTimeout(deferredTask, 0)`, but that technique involves
 * some (although minimal) unwanted delay.
 *
 * Note that using `asap` scheduler does not necessarily mean that your task will be first to process
 * after currently executing code. In particular, if some task was also scheduled with `asap` before,
 * that task will execute first. That being said, if you need to schedule task asynchronously, but
 * as soon as possible, `asap` scheduler is your best bet.
 *
 * @example <caption>Compare async and asap scheduler</caption>
 *
 * Rx.Scheduler.async.schedule(() => console.log('async')); // scheduling 'async' first...
 * Rx.Scheduler.asap.schedule(() => console.log('asap'));
 *
 * // Logs:
 * // "asap"
 * // "async"
 * // ... but 'asap' goes first!
 *
 * @static true
 * @name asap
 * @owner Scheduler
 */

export const asap = new AsapScheduler(AsapAction);

Version data entries

49 entries across 49 versions & 4 rubygems

Version Path
govuk_publishing_components-17.8.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.7.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.6.1 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.6.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.5.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.4.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.3.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.2.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.1.1 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.1.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-17.0.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.29.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.28.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.27.1 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.27.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.26.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.25.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.24.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.23.0 node_modules/rxjs/src/scheduler/asap.ts
govuk_publishing_components-16.22.0 node_modules/rxjs/src/scheduler/asap.ts