RxJS async

2020-09-27 09:42 更新

异步调度程序

const async: any;

描述

像使用 setTimeout(task,duration)一样调度任务

async调度程序通过将任务放在 JavaScript 事件循环队列中来异步调度任务。最好将其延迟时间或安排间隔重复的任务。

如果您只是想“推迟”任务,也就是说要在当前执行同步代码结束后立即执行(通常由来实现setTimeout(deferredTask, 0)),那么最好选择 asap 调度程序。

例子

使用异步调度程序延迟任务

  1. import { asyncScheduler } from 'rxjs';
  2. const task = () => console.log('it works!');
  3. asyncScheduler.schedule(task, 2000);
  4. // After 2 seconds logs:
  5. // "it works!"

使用异步调度程序定期间隔执行任务

  1. import { asyncScheduler } from 'rxjs';
  2. function task(state) {
  3. console.log(state);
  4. this.schedule(state + 1, 1000); // `this` references currently executing Action,
  5. // which we reschedule with new state and delay
  6. }
  7. asyncScheduler.schedule(task, 3000, 0);
  8. // Logs:
  9. // 0 after 3s
  10. // 1 after 4s
  11. // 2 after 5s
  12. // 3 after 6s
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号