19

我尝试在我的 Angular 6 项目中导入 rxjs 计时器,例如

import { timer } from 'rxjs/observable/timer';

我也试过了,

Rx.Observable.timer(200, 100)

他们不工作

这是plunker上的代码

4

4 回答 4

25

从 rxjs 6(在 angular 6 项目中使用),一般规则如下:

  • rxjs:创建方法、类型、调度程序和实用程序

    import { timer, Observable, Subject, asapScheduler, pipe, of, from,
             interval, merge, fromEvent } from 'rxjs';
    
  • rxjs/operators:所有可管道操作符:

    import { map, filter, scan } from 'rxjs/operators';
    

这是迁移指南:https ://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#observable-classes

于 2018-05-08T08:30:33.080 回答
19

所有可观察的类(https://github.com/ReactiveX/rxjs/tree/5.5.8/src/observable)都已从 v6 中删除,以支持与类方法执行相同操作的现有或新运算符。

import { timer } from 'rxjs';
import { timeInterval, pluck, take} from 'rxjs/operators';

var sourcef = timer(200, 100)
  .pipe(
    timeInterval(),
    pluck('interval'),
    take(3)
  )

分叉示例

也可以看看

于 2018-05-08T08:24:51.103 回答
4

从 rxjs 6.2.2 开始,对于这个导入

import { timer } from 'rxjs';   // gives tslint blacklisted error

tslint 给出一个错误:

ERR: [tslint] This import is blacklisted, 
import a submodule instead (import-blacklist)

但这工作正常,没有任何错误

import { timer } from 'rxjs/observable/timer'; //works fine

于 2019-03-05T11:27:43.710 回答
-1

就我而言,我使用 import { timer } from 'rxjs/Observable/timer'; 像这样。

但需要在 import { timer } from 'rxjs/observable/timer' 中使用;可观察而不是可观察。

就是这样......享受你的编码。

于 2019-09-26T07:43:54.033 回答