【问题标题】:How to implement long polling for React + axiosReact + axios 如何实现长轮询
【发布时间】:2017-09-12 14:55:19
【问题描述】:

我正在使用 React + axios 从客户端与 API 对话。我是 JavaScript 的新手。

如何实现长轮询,以便在网页上获得近乎实时的更新?

当后端是 JSON REST API 时,是否有更好的方法在页面上进行实时更新?我应该考虑使用 WebSockets 还是服务器端事件或长轮询?

【问题讨论】:

  • 相关答案:Long-polling vs websocketAjax vs Socket.io。对于网页的定期实时更新,我不知道轮询比连续 webSocket 或 socket.io 连接更有效的情况。
  • 你标题里的问题和你最后问的问题不一样。您能否用一个问题更新帖子,以便有人可以尝试回答正确的问题。

标签: javascript reactjs websocket axios


【解决方案1】:

对于您的用例,还有另一种可能更好的方法:服务器发送事件。

简而言之,SSE 是从客户端到服务器的简单 GET 请求 - 除了服务器在处理完请求后不会关闭连接。相反,HTTP 连接保持打开状态,服务器能够多次向客户端写入数据,这些数据实时出现。

有关 SSE 与 Websockets 比较的更多信息,请阅读 Alex Recarey 的 answer 到 SO 中的“WebSockets vs. Server-Sent events/EventSource”。

【讨论】:

    猜你喜欢
    • 2010-09-24
    • 2014-01-08
    • 2016-03-10
    • 2012-04-01
    • 2013-02-17
    • 2012-12-10
    • 2022-01-14
    相关资源
    最近更新 更多