我的 Angular2 组件类的构造函数中有以下代码:
var observable = Observable.create(function (observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
}).observeOn(Scheduler.async);
我导入的包括以下内容:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/observeOn';
import { Scheduler } from 'rxjs/Scheduler';
import 'rxjs/scheduler/async';
我也尝试了以下导入,而不是上面的最后一个导入:
import { async } from 'rxjs/scheduler/async';
我在使用 Angulat CLI 构建我的项目时收到以下错误消息:
Property 'async' does not exist on type 'typeof Scheduler'
我错过了什么?
最佳答案
是的,这是正确的,因为:
import { Scheduler } from 'rxjs/Scheduler';
这意味着,你导入了这个类:https://github.com/ReactiveX/rxjs/blob/5.4.0/src/Scheduler.ts#L8-L63
和
import { async } from 'rxjs/scheduler/async';
是https://github.com/ReactiveX/rxjs/blob/5.4.0/src/scheduler/async.ts#L47
所以你可以看到,Scheduler
没有 async
属性,我猜你想把这个东西转换成 Rx.Scheduler.async
source code here ,你可以试试这个解决方案:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/observeOn';
import { async } from 'rxjs/scheduler/async';
var observable = Observable.create(function (observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
}).observeOn(async);
关于angular - Scheduler.async 的 RxJS 依赖问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44343393/