setTimeOut定时器实现数组内容循环获取

 

功能需求,一组数据,不断重复循环播放

实现方式 setTimeout

注意功能,页面跳转后删除定时器

效果

  

 

页面关闭比如在vue的 beforeDestroy生命周期
调用 clearTimeout(t) 关闭定时器

 

代码如下

let t
    const data = [111111]
    function settime (resolve) {
      if (t) {
        clearTimeout(t)
      }
      t = setTimeout(resolve1000)
    }

    function timeout () {
      return new Promise(resolve => {
        settime(resolve)
      })
    }
    // 启动循环
    (async function circling () {
      for (var i = 0i < data.lengthi++) {
        // 处理其他逻辑
        console.log('当前内容'i)
        await timeout()
        if (i === data.length - 1) {
          // 无限循环
          i = -1
        }
      }
    })()
 
 
posted @ 2021-09-17 10:20  树叶铃铛  阅读(430)  评论(0编辑  收藏  举报