Rxjs调度程序:什么';asap和async的区别是什么?
有人能告诉我Scheduler.asap和Scheduler.async的区别吗 对我来说也一样:Rxjs调度程序:什么';asap和async的区别是什么?,rxjs,Rxjs,有人能告诉我Scheduler.asap和Scheduler.async的区别吗 对我来说也一样: const observable = Observable.create(function (observer) { observer.next(1); observer.next(2); observer.next(3); observer.complete(); }) .observeOn(asap); //.observeOn(async); console.log('ju
const observable = Observable.create(function (observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
})
.observeOn(asap);
//.observeOn(async);
console.log('just before subscribe');
observable.subscribe({
next: x => console.log('got value ' + x),
complete: () => console.log('done'),
});
console.log('just after subscribe');
返回:
just before subscribe
just after subscribe
got value 1
got value 2
got value 3
done
Code-异步调度程序最适合用于基于时间的操作(使用
设置间隔
,即使时间延迟为0…例如轮询),其中asap
调度程序更适合于需要尽可能快地进行的异步操作,而无需考虑时间限制
请参阅更多。异步调度程序最适合用于基于时间的操作(使用
设置间隔
,即使时间延迟为0…例如轮询),其中asap
调度程序更适合于需要尽可能快地进行的异步操作,而无需考虑时间限制
查看更多。来自:Randall Koutnik的书《用RxJS构建反应式网站》:
RxJS有两种不同类型的异步调度程序:尽快和异步。关键区别在于,尽快使用微任务队列(Node.js中的process.nextTick()或浏览器中的setTimeout)安排运行可观察事件.这意味着事件在任何同步代码之后运行,但在任何其他计划的异步任务之前运行。另一个主要的调度程序,async,使用setTimeout进行调度,适用于一些基于时间的操作来自:Randall Koutnik的书《用RxJS构建反应式网站》:
RxJS有两种不同类型的异步调度程序:尽快和异步。关键区别在于,尽快使用微任务队列(Node.js中的process.nextTick()或浏览器中的setTimeout)安排运行可观察事件.这意味着事件在任何同步代码之后运行,但在任何其他计划的异步任务之前运行。另一个主要的调度程序,async,使用setTimeout进行调度,适用于一些基于时间的操作当您在setTimeout或setInterval(事件循环宏任务)中包装时,Aysnc调度程序将被视为
当您包装在承诺中时要考虑的Asap调度程序(当前宏任务之后执行的下一个微任务)当您包装在setTimeout或setInterval中时要考虑的Aysnc调度程序(事件循环宏任务)
当您在承诺中包装时要考虑的Asap调度程序(当前宏任务之后执行的下一个微任务)您阅读过文档吗?有一个表格描述了它们之间的差异——您读过文档了吗?有一个表格描述了它们之间的差异-