2017-05-29 68 views
3

我有angular2-seed-based的角度2应用程序。我有以下的角/ RX代码:如何在rxjs/angular中导入.refCount()

this.http.get(...).map((res) => res.json()).publishReplay().refCount(); 

我用

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/map'; 
import 'rxjs/add/operator/publishreplay'; 

分别导入所有的运营商。但似乎没有文件导入refCount运算符...或者我错过了一些东西。我很确定应该有这样的文件,也许它存储在不同的位置。

的蛮力解决方案,唯一我已经成功地获得工作,是很残酷的:

import 'rxjs'; 

我使用rxjs V5

回答

6

refCountConnectableObservable一个method。它不是一个可以添加到任意可观察值的运算符 - 因此没有rxjs/add/operator/refCount文件。

refCount只能与返回ConnectableObservable的运营商一起使用。

publishReplay运营商返回ConnectableObservable,所以要使用refCountpublishReplay,不需要额外的导入。

此外,您应该知道,导入rxjs/add/operator/publishreplay不适用于区分大小写的文件系统,因为文件名为publishReplay

+0

一切都很好,但你没有写什么,我应该导入! :) – ducin

+1

你不需要导入任何东西。我已经更新了答案。如果它不起作用,则应该包含任何有效的错误。 – cartant

+0

你是对的。顺便说一句,感谢与文件案例的提示,你说得对,使用Windows。 – ducin