js 实现等待(异步等待)waiting

//等待 maxCount - 重试最多次数   timer  - 步长
    waiting(condition, maxCount = 500,timer = 10) {
        //重试次数累加
        var retryCount = 0;
        return new Promise((resolve, reject) => {
            var myInterval = setInterval(() => {
                if (condition()) {
                    clearInterval(myInterval);
                    resolve();
                }
                if (retryCount > maxCount) {
                    clearInterval(myInterval);
                }
                retryCount++;
            }, timer);
        });
    }

调用:

waiting(() => {
    var flag = false;
    //... 符合条件时:flag = true;
    return flag; 
}).then(()=>{
    //条件满足后  执行
});

注:以上代码属个人整理,用于交流学习。(QQ/微信:742010299 昵称:同心同德)

posted @ 2022-03-19 13:27  同心同德  阅读(163)  评论(0编辑  收藏  举报