导入lettable运算符和可观察的创建方法

Ale*_*mov 3 reactive-programming rxjs typescript angular rxjs-lettable-operators

我正在升级到Angular 5和RxJS 5.5.2并尝试导入Observable.of运算符.

在可租赁运营商之前,我们这样做:

import 'rxjs/add/observable/of';

// Usage
Observable.of(...)
Run Code Online (Sandbox Code Playgroud)

但现在add不鼓励从包含的路径导入.

那么现在导入和使用lettable静态运算符的正确方法是什么?

Jot*_*edo 5

现在具有lettable版本的运算符是实例运算符.

5.5.x 之前of和任何其他可观察的创建方法可以以静态方式使用,如下所示:

import { of } from 'rxjs/observable/of';
Run Code Online (Sandbox Code Playgroud)

文档rxjs上这个话题很清楚:

您可以在"rxjs/operators"(复数!)下从一个位置拉入您需要的任何运算符.还建议直接引入您需要的Observable创建方法,如下所示:

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

const source$ = range(0, 10);

source$.pipe(
  filter(x => x % 2 === 0),
  map(x => x + x),
  scan((acc, x) => acc + x, 0)
)
.subscribe(x => console.log(x))
Run Code Online (Sandbox Code Playgroud)