//等待 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(()=>{
//条件满足后 执行
});
注:以上代码属个人整理,用于交流学习。