我正在使用React和axios在客户端与API进行通信。我是JavaScript的新手。
如何实现长轮询以便在网页上获得近乎实时的更新?
当后端是JSON REST API时,是否有更好的方法在页面上进行实时更新?我应该研究使用WebSockets还是服务器端事件,或者长轮询就可以了?
我正在使用React和axios在客户端与API进行通信。我是JavaScript的新手。
如何实现长轮询以便在网页上获得近乎实时的更新?
当后端是JSON REST API时,是否有更好的方法在页面上进行实时更新?我应该研究使用WebSockets还是服务器端事件,或者长轮询就可以了?
您的用例可能有另一种更好的方法:服务器发送事件(SSE)。
简而言之,SSE是客户端向服务器发出的简单GET请求 - 但是服务器在处理完请求后不会关闭连接。相反,HTTP连接保持打开状态,服务器能够多次向客户端写入数据,这些数据实时显示。
有关SSE与Websockets的比较信息,请阅读Alex Recarey在SO上对“WebSockets vs. Server-Sent events/EventSource”的 answer。