【问题标题】:How to get data from a rest API asynchronously in realtime in Angular如何在Angular中实时异步地从REST API获取数据
【发布时间】:2019-12-16 17:20:34
【问题描述】:

在我的组件文件中,我使用 http 客户端从 api 端点获取可观察的 json 文件:

this.data =  this.http.get(api);

在模板中,我使用异步管道绑定数据字段:

<td *ngFor="let post of (data | async)"> {{post.title}} </td>

现在我正在获取数据,问题是我希望它实时发生而无需刷新页面。 那么有没有办法实现异步数据加载

附言
我已经尝试了一些解决方法,例如设置间隔以连续订阅 observable,但这只会耗尽资源,而且我似乎缺少另一种更清洁的方式。

【问题讨论】:

  • 你的意思是不断到达终点以获取新数据?
  • 如果你真的想要实时,你可以使用 websockets。或者您可以使用轮询机制,您可以每 1 或 2 秒访问一次 API。

标签: angular rest rxjs observable


【解决方案1】:

你不能在前端做任何事情来让它实时。 异步管道将密切关注响应,但为了获得响应,您必须点击 一段时间后的 API 或类似的东西。正如您已经说过的,这不是更清洁的解决方案。您可以使用后端的 Web 套接字来实现这一点。 默认情况下,一些数据库本质上是实时的。 Firebase 就是其中之一。

【讨论】:

    猜你喜欢
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多