codecamp

RxJS asap

尽快调度程序

const asap: any;

描述

以最快的速度执行任务

asap async当您使用调度程序延迟任务时,调度程序的行为与调度程序相同。但是,如果将 delay 设置为0asap将等待当前同步执行的代码结束,然后它将尝试尽快执行给定的任务。

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!
RxJS ArgumentOutOfRangeError
RxJS async
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

RxJS operators

RxJS fetch

RxJS testing

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }