vue项目如何实现每隔多长时间请求一次接口???

在实际项目中我们经常需要实现轮询-每隔一段时间请求一次接口刷新数据

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); //一天
  },

 

上一篇:event loop


下一篇:一篇文章彻底搞懂异步,同步,setTimeout,Promise,async