在实际项目中我们经常需要实现轮询-每隔一段时间请求一次接口刷新数据
window.setInterval(() => {
setTimeout(() => {
///调取接口
}, 0)
}, 30000)
具体秒数看需求而设定,这里先设定30秒(setTimeout是自带清除定时器)
在vue项目中我们直接在 created(){} 生命周期中写就可以了
created() {
this.currentTime();
this.getRoleList();
this.getErrorPerson();
this.userInfo();
this.getNormalNum();
this.getTemLowNum();
this.getSleepNormalNum();
this.getNormaOxygenNum();
this.getStayPlace();
this.getMessageNum();
this.getSoprtData();
setInterval(() => {
setTimeout(() => {
///调取接口
this.getStayPlace(); // 停留地点
this.getNormalNum(); //心率
this.getTemLowNum(); //体温
this.getSleepNormalNum(); // 睡眠
this.getNormaOxygenNum(); //血氧
this.getErrorPerson(); // sos报警列表
this.getRoleList(); // 电子围栏列表
}, 0);
}, 2 * 60 * 60000); // 两个小时
setInterval(() => {
setTimeout(() => {
this.getMessageNum(); //消息
this.getSoprtData(); // 运动监测数据
}, 0);
}, 12 * 60 * 60000); //一天
},