rxjs v6中不推荐使用的方法

时间:2019-05-28 09:14:54

标签: angular rxjs tslint

我尝试使用href

combineLatest

但我得到警告

import { combineLatest } from 'rxjs/Observable';

如果我遵循this solution所述的RxJS v5.x to v6 Update Guide并写信

combineLatest is deprecated: Deprecated in favor of static combineLatest. 

然后我收到tslint消息:

import { combineLatest } from 'rxjs';

似乎有点蛇咬自己的尾巴...

如果我使用

This import is blacklisted, import a submodule instead

然后它可以正常工作而不会发出警告消息,但据我所知,不建议导入内部软件包(如果我输入错了,请纠正我)。

禁用tslint消息对我来说似乎不可接受。

示例:

import { combineLatest } from 'rxjs/internal/observable/combineLatest';

哪个是合适的解决方案?谢谢。

3 个答案:

答案 0 :(得分:2)

尝试使用import { combineLatest } from 'rxjs/index';来避免使用已过时的库或列入黑名单的皮棉。

查看此内容:https://rxjs-dev.firebaseapp.com/api/index/function/combineLatest

答案 1 :(得分:1)

由于这是导入combineLatest的官方文档方式所认可的,所以tslint在这里只是愚蠢的。

编辑您的tslint.json并删除rxjs项中的"import-blacklist"

答案 2 :(得分:0)

我已经根据@martin的评论找到了解决方案:我的原始项目是使用Angular 6创建的。当我将Angular 6升级到Angular 7时,我没有考虑到tslint.json已被更新。此文件已简化,并且包含以下行

"extends": "tslint:recommended"

(更多信息,请访问{See here))。在推荐的tslint文件中,软件包rxjs已从黑名单中排除。

因此,我有文件tslint.json的旧版本,我对其进行了更新,现在不再存在此问题。