要保持获取数据的最新,可以使用以下方法:
setInterval函数每隔一定时间执行一次获取数据的代码。setInterval(function() {
// 获取最新的数据
getData();
}, 5000); // 每隔5秒执行一次
function getData() {
// 发送长轮询请求到服务器
fetch('/data', { method: 'GET' })
.then(function(response) {
// 处理响应
return response.json();
})
.then(function(data) {
// 处理获取到的最新数据
updateData(data);
// 发送下一个请求
getData();
})
.catch(function(error) {
// 处理错误
console.error('Error:', error);
// 发送下一个请求
getData();
});
}
// 启动获取数据的过程
getData();
// 创建WebSocket连接
var socket = new WebSocket('ws://localhost:8080');
// 监听WebSocket连接的打开事件
socket.onopen = function() {
console.log('WebSocket连接已打开');
};
// 监听WebSocket消息的接收事件
socket.onmessage = function(event) {
// 处理接收到的最新数据
var data = JSON.parse(event.data);
updateData(data);
};
// 监听WebSocket连接的关闭事件
socket.onclose = function(event) {
console.log('WebSocket连接已关闭');
};
// 监听WebSocket连接的错误事件
socket.onerror = function(error) {
console.error('WebSocket连接错误:', error);
};
通过以上三种方法,可以实现获取最新数据的功能。具体选择哪种方法取决于你的需求和应用场景。