一个vue项目,定时每5分钟请求一下接口,返回数据。如何判断当下请求出来的数据和上次5分钟前请求的数据是否一样?怎样编写判断代码?
时间: 2023-04-03 20:02:05 浏览: 92
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
可以使用深度比较的方法来判断两次请求返回的数据是否一样。具体实现方法是,在每次请求返回数据后,将数据对象转换为字符串,然后与上一次请求返回的数据字符串进行比较,如果相同则说明数据没有变化,否则说明数据发生了变化。
以下是示例代码:
// 上一次请求返回的数据字符串
let lastDataStr = '';
// 定时请求数据
setInterval(() => {
// 发送请求,获取数据
axios.get('/api/data').then(response => {
// 将数据对象转换为字符串
const dataStr = JSON.stringify(response.data);
// 判断数据是否发生变化
if (dataStr === lastDataStr) {
console.log('数据没有变化');
} else {
console.log('数据发生了变化');
// 更新上一次请求返回的数据字符串
lastDataStr = dataStr;
}
});
}, 5 * 60 * 100); // 每5分钟请求一次数据
阅读全文