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 昵称:同心同德)