繁体   English   中英

角度应用程序中的SOCKET.IO类比(使用rx.js)

[英]SOCKET.IO analogy in angular application (with rx.js)

我正在开发angular(2)应用程序。 我想在后端更改数据时更新视图。

  getData() {
      return this.http.get("some url")
      .map(result => result.json());
  }

如何在组件中开发侦听器,该组件将是侦听和更新视图?

因此,有两种解决方案取决于您的能力:

1-您具有服务器代码的写权限

然后,您可以在服务器上实现websocket支持,然后使用https://github.com/ohjames/rxjs-websockets之类的工具将套接字事件自动包装在rxjs可观察对象中。

2-您无权访问服务器的代码

好吧,在这种情况下,您将必须对服务器进行定期轮询。 看起来像这样:

Rx
  .Observable
  .timer(0, 1000) // once every second
  .mergeMap(_ => this.http.get("/url").map(json => result.json()))

如果服务器实现良好(并且您发送了正确的标头),则它可能会向您发送回304 HTTP代码,从中您可以推断出自上次调用以来未发生任何情况,并且可以过滤掉这些情况。

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM