第一种:使用事件轮训
利用setInterval()轮训调用接口数据, 然后需要注意的是需要数据更新完,要刷新组件使用轮训的缺点:浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源
第二种:使用webSocket长连接
WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。 在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
websocket四大事件
- 打开事件(open) :当WebSocket连接建立时触发。这个事件发生在端点上建立新连接时,并且在任何其他事件发生之前。例如,在JavaScript中,可以使用
ws.onopen来监听打开事件23。 - 消息事件(message) :当WebSocket收到消息时触发。这个事件可以在连接打开后,关闭前任意时刻发生。消息可以以文本、二进制或ping/pong的形式到达。在JavaScript中,可以使用
ws.onmessage来监听消息事件12。 - 错误事件(error) :当WebSocket连接发生错误时触发。这个事件表示通信过程中出现了问题。在JavaScript中,可以使用
ws.onerror来监听错误事件23。 - 关闭事件(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 关闭消息通道