我正在开发angular(2)应用程序。 我希望在后端数据发生变化时更新视图。
getData() {
return this.http.get("some url")
.map(result => result.json());
}
如何在我的组件中开发监听器,这将是监听和更新视图?
答案 0 :(得分:0)
所以,两种解决方案取决于你能做什么:
然后,您可以在服务器上实现websocket支持,然后使用https://github.com/ohjames/rxjs-websockets之类的工具自动将套接字事件包装在rxjs observables中。
那么,在这种情况下,您将不得不定期轮询服务器。看起来像这样:
Rx
.Observable
.timer(0, 1000) // once every second
.mergeMap(_ => this.http.get("/url").map(json => result.json()))
如果服务器实施得很好(并且您发送了正确的标头),它可能会向您发送一个304
http代码,您可以从中推断出自上次通话以来没有发生任何事情,您可以过滤掉这些例。
希望有所帮助