使用async + while 替代setInterval

2021-04-14  本文已影响0人  冯正_566c
setInterval 的弊端
替代方案
  1. 使用setTimeout
let timer = null
interval(func, wait){
    let interv = function(){
        func.call(null);
        timer=setTimeout(interv, wait);
    };
    timer= setTimeout(interv, wait);
 },
  1. 使用async + while(推荐)
    function delay(ms = 1000) {
        return new Promise((resolve => {
            setTimeout( () => {
                resolve()
            }, ms)
        }))
    }
    async function interval() {
       while (true){
           try {
               await delay(3000);
               //doSome
           }catch (e) {
               // e
           }
       }
    }
上一篇 下一篇

猜你喜欢

热点阅读