如何将Empy(Scheduler)迁移到RxJS?

时间:2019-02-08 11:00:35

标签: rxjs rxjs6

我有需要迁移到RxJS 6的旧代码。有一行我不知道如何迁移该代码:

return empty(this.scheduler);

this.scheduler是一些传递给类构造函数的调度程序。

我找到了有关如何迁移empty()的说明,仅使用连续EMPTY,但是如何使用调度程序创建一个空的可观察对象呢?

1 个答案:

答案 0 :(得分:1)

2019年3月更新:有一个开放的PR,它添加了emptyScheduled()方法:https://github.com/ReactiveX/rxjs/pull/4595

现在还不建议使用empty()可观察的创建方法,推荐的方法是使用EMPTY

import { EMPTY } from 'rxjs';

EMPTY仅发出complete通知,因此它不接受任何调度程序。

编辑:

import { asyncScheduler, Observable } from 'rxjs'; 

const asyncEmpty = scheduler => new Observable(observer => {
  scheduler.schedule(() => observer.complete());
});

asyncEmpty(asyncScheduler).subscribe({ complete: () => console.log('completed')});

https://stackblitz.com/edit/rxjs-bwn1y7