JS循环等待检测

/**
  * 轮询等待条件满足后处理
  */
 function waitFinished(fun) {
  if (!fun) {
   return;
  }

  if (fun.checkFinished()) {
   fun.finishedDo();
   return;
  }

  var waitTime = fun.waitTime ? fun.waitTime : 10;

  var strTime = new Date().getTime();
  fun[strTime] = setInterval(function() {
   if (fun.checkFinished()) {
    try {
     fun.finishedDo();
    } finally {
     clearInterval(fun[strTime]);
     delete fun[strTime];
    }
   }
  }, waitTime)
 }

你可能感兴趣的:(前端)