功能需求,一组数据,不断重复循环播放
实现方式 setTimeout
注意功能,页面跳转后删除定时器
效果
页面关闭比如在vue的 beforeDestroy生命周期 调用 clearTimeout(t) 关闭定时器
代码如下
let t const data = [1, 1, 1, 1, 1, 1] function settime (resolve) { if (t) { clearTimeout(t) } t = setTimeout(resolve, 1000) }function timeout () { return new Promise(resolve => { settime(resolve) }) } // 启动循环 (async function circling () { for (var i = 0; i < data.length; i++) { // 处理其他逻辑 console.log('当前内容', i) await timeout() if (i === data.length - 1) { // 无限循环 i = -1 } } })()