angular - rxjs 和 WebStorm

标签 angular rxjs webstorm

将我的 Angular 项目升级到版本 5.2.8 后,我的 WebStorm IDE (2017.3.5) 不再识别 rxjs 运算符 (rxjs@5.5.6)。它提示 unresolved function or method。使用angular cli的编译(typescript@2.6.2)仍然有效。

在下面的例子中,它发生在运算符do

Observable.from([1,2])
     .do((i: number) =>  {
        console.log(i);
     })

如果我导入 do 运算符 import 'rxjs/add/operator/do'; 在同一个文件中或某个中央位置,这并不重要。

知道我必须如何配置 WebStorm 才能解决这个问题吗?

最佳答案

从 RxJS 5.5 开始,他们引入了 pipeable operators ,作为其中的一部分,他们从 do 切换到 tap(以免与保留的 JavaScript 关键字冲突)。

要更新您的代码,首先更改您的导入:

import { Observable } from 'rxjs/Observable';
import { tap } from 'rxjs/operators';

然后将您的代码更改为:

Observable.from([1,2]).pipe(
  tap((i: number) =>  {
    console.log(i);
  })
);

关于angular - rxjs 和 WebStorm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49371748/

相关文章:

angular - ExpressionChangedAfterItHasBeenCheckedError Angular

typescript - 如何在 WebStorm 中找出 TypeScript 元素(变量、函数)的类型?

javascript - 如果模型不存在,为什么 IE 会呈现 null

Angular:在与 ngModel 一起使用时,在 select 的选项上选择不能正常工作

angular - 如何使用 Testing-Library、Jest 和 JSDOM 测试自定义元素/Web 组件?

angularjs - 在 WebStorm 中部署 AngularJS Seed 应用程序

markdown - WebStorm Markdown预览?

angular - 带有 ES5 的 Angular 2 中的管道+指令 : No Directive annotation found on constructor

rxjs - 在 .switchMap 运算符中返回 .empty Observable

arrays - Typescript 从对象中选择 ID