如何在 angular 6 中导入 rxjs 计时器?

How to import rxjs timer in angular 6?

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

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

我也试过了,

Rx.Observable.timer(200, 100)

它们不起作用

这是plunker

上的代码

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

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

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

Forked Example

另见

来自rxjs 6(在angular6项目中使用),一般规则如下:

  • 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

自 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

在我的例子中,我使用了 import { timer } from 'rxjs/Observable/timer';像这样。

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

就这些了...祝您编码愉快。