angular - Scheduler.async 的 RxJS 依赖问题

标签 angular typescript rxjs rxjs5

我的 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/

相关文章:

Angular Material、自动完成加载指示器和显示文本(未找到结果)

javascript - 为什么订阅在首次订阅热门可观察对象后没有触发

angular - 由于 ngIf,保持隐藏组件的引用

javascript - 使用组节点从多维子数组创建字符串

javascript - 以编程方式从 Angular 中的响应中收集嵌套对象键

reactjs - 当带有错误 props 的 React 功能组件 (React.FC<Props>) 作为 props 发送时,Typescript 不会提示吗?

rxjs - RxJS 的队列操作符

angular2 : Error:(62, 33) TS2339:属性 'resolveAndCreate' 在类型 'typeof Injector' 上不存在

构造函数重载的 typescript 智能感知问题

node.js - 我如何用 TypeScript ES6 样式 'EventEmitter = require(' events').EventEmitter' 重写此语句?