在你的大屏项目中怎么让图表实时的更新

60 阅读2分钟
   第一种:使用事件轮训

利用setInterval()轮训调用接口数据, 然后需要注意的是需要数据更新完,要刷新组件使用轮训的缺点:浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源

  第二种:使用webSocket长连接

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。 在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

websocket四大事件

  1. 打开事件(open) ‌:当WebSocket连接建立时触发。这个事件发生在端点上建立新连接时,并且在任何其他事件发生之前。例如,在JavaScript中,可以使用ws.onopen来监听打开事件‌23。
  2. 消息事件(message) ‌:当WebSocket收到消息时触发。这个事件可以在连接打开后,关闭前任意时刻发生。消息可以以文本、二进制或ping/pong的形式到达。在JavaScript中,可以使用ws.onmessage来监听消息事件‌12。
  3. 错误事件(error) ‌:当WebSocket连接发生错误时触发。这个事件表示通信过程中出现了问题。在JavaScript中,可以使用ws.onerror来监听错误事件‌23。
  4. 关闭事件(close) ‌:当WebSocket连接关闭时触发。这个事件发生在连接断开时。在JavaScript中,可以使用ws.onclose来监听关闭事件‌23。

代码简单展示

let ws = new WebSocket('ws://localhost:8080');

ws.onopen = function(event) {
    console.log('Connection opened');
};

ws.onmessage = function(event) {
    console.log('Message received:', event.data);
};

ws.onerror = function(error) {
    console.error('Error:', error);
};

ws.onclose = function(event) {
    console.log('Connection closed');
};

open建立连接————》接受后台发回的实时消息message————》中途遇见错误进行记录报告error——————》再次建立连接————》open————》close 关闭消息通道