[英]Angular 2 polling with RxJS
我正在尝试轮询RESTful端点以刷新我的实时聊天消息。 我知道实时聊天的最佳方法是Websockets,我只是想了解RxJS如何与Angular 2一起使用。
我想每秒检查一下新消息。 我有以下代码:
return Rx.Observable
.interval(1000)
.flatMapLatest(() => this.http.get(`${AppSettings.API_ENDPOINT}/messages`))
.map(response => response.json())
.map((messages: Object[]) => {
return messages.map(message => this.parseData(message));
});
但是我的Typescript转换器返回了这个错误:
属性'flatMapLatest'在'Observable <number>'类型中不存在
我正在使用RxJS 5.0.0-beta.0
如果我使用merge而不是flatMapLatest,它根本不会调用API。
你需要使用switchMap()
,在RxJS 5中没有flatMapLatest()
。
请参阅从RxJS 4迁移到5 ...尽管有关switchMap()
文档不是很清楚......
通过应用一个函数返回一个新的Observable,该函数提供给返回Observable的源Observable发出的每个项目,然后发出这些Observable最近发出的项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.