对 rxjs 运算符导入感到困惑

Confused about rxjs operator imports

我已经更新了项目中 rxjs 运算符的导入,以便它们现在符合新的推荐语法,例如:

import { switchMap, debounceTime }          from 'rxjs/operators';

然而,当我尝试对“do”运算符遵循相同的模式时,TypeScript 在我构建代码时会发出抱怨。为了让它工作,我需要使用旧的语法模式,例如:

import 'rxjs/add/operator/do';

我是不是做错了什么,或者“do”运算符是否仍然需要旧模式?

谢谢!

do 运算符在 RxJS 5.5 中重命名为 tap(因为 do 是保留关键字):

import { tap } from 'rxjs/operators';

有关详细信息,请参阅 https://github.com/ReactiveX/rxjs/blob/master/doc/pipeable-operators.md#pipeable-operators

中的 "Renamed Operators" 部分