RxJS asap
尽快调度程序
const asap: any;
描述
以最快的速度执行任务
asap
async
当您使用调度程序延迟任务时,调度程序的行为与调度程序相同。但是,如果将 delay 设置为0
,asap
将等待当前同步执行的代码结束,然后它将尝试尽快执行给定的任务。
asap
调度程序将尽最大努力减少当前正在执行的代码结束与计划任务开始之间的时间。这使其成为执行所谓的“延期”的最佳人选。传统上,这是通过调用来实现的 setTimeout(deferredTask, 0)
,但是该技术会涉及一些(尽管最小)不必要的延迟。
请注意,使用 asap
调度程序并不一定意味着您的任务将在当前执行代码后首先处理。特别是,如果某些任务也与 asap
之前安排在一起,则该任务将首先执行。话虽如此,如果您需要异步调度任务,但尽快 asap
调度是您的最佳选择。
例
比较异步和尽快调度程序
import { asapScheduler, asyncScheduler } from 'rxjs';
asyncScheduler.schedule(() => console.log('async')); // scheduling 'async' first...
asapScheduler.schedule(() => console.log('asap'));
// Logs:
// "asap"
// "async"
// ... but 'asap' goes first!