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

问题描述 投票:15回答:3

我尝试在我的角度6项目中导入rxjs计时器

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

我也尝试过,

Rx.Observable.timer(200, 100)

它们不起作用

这是plunker上的代码

angular rxjs6
3个回答
21
投票

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

  • rxjs:创建方法,类型,调度程序和实用程序 import { timer, Observable, Subject, asapScheduler, pipe, of, from, interval, merge, fromEvent } from 'rxjs';
  • rxjs /运算符:所有可管道运算符: import { map, filter, scan } from 'rxjs/operators';

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


17
投票

所有可观察的类(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)
  )

Forked Example

也可以看看


2
投票

对于此导入,从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

© www.soinside.com 2019 - 2024. All rights reserved.