使用RxJS进行Angular 2轮询

时间:2016-01-26 09:04:48

标签: angular typescript rxjs5

我正在尝试轮询RESTful端点以刷新我的实时聊天消息。我知道实时聊天的最佳方法是Websockets,我只是想了解RxJS如何与Angular 2一起使用。

我想每秒检查一下新邮件。我有以下代码:

http://<ip address>/checkit.php

但是我的Typescript转换器返回了这个错误:

  

Property&#39; flatMapLatest&#39;类型&#39; Observable&lt; number&gt;&#39;

上不存在

我正在使用RxJS 5.0.0-beta.0

如果我使用合并而不是 flatMapLatest ,则根本不会调用API。

2 个答案:

答案 0 :(得分:8)

你需要使用switchMap(),在RxJS 5中没有flatMapLatest()

请参阅Migrating from RxJS 4 to 5 ...虽然文档不是很清楚switchMap() ...

  

通过应用一个函数返回一个新的Observable,该函数提供给返回Observable的源Observable发出的每个项目,然后发出这些Observable最近发出的项目。

答案 1 :(得分:2)

解释一下@Sasxa的答案。

SwitchMap图示。 (来自http://reactivex.io/documentation/operators.html

enter image description here