在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 一定時(shí)間后再次調(diào)用setTimeout

一定時(shí)間后再次調(diào)用setTimeout

問(wèn)題描述

我寫了一個(gè)方法A,是遞歸每隔幾秒去調(diào)用自己,又有一個(gè)方法B是一個(gè)websocket推送,websocket第一次推送方法A開始執(zhí)行,剛執(zhí)行了一半websocket又來(lái)了第二次推送,第一次定時(shí)器和第二次定時(shí)器都開始了,怎樣只讓他去執(zhí)行第一個(gè)定時(shí)器。

問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

  clearTimeout(self.setVar);
  (function(arr) {
    var i = 0,
    len = arr.length;
    (function setColor() {
      self.setVar = setTimeout(function() {
        if (i < len-1) {
          if (i > 0) {
            arr[i - 1].borderWidth = 0;
          }
          arr[i].borderColor = "45,215,16";
          arr[i].borderWidth = 2;
          i = i + 1;
          setColor();
        } else if(i===len-1){
          arr[i].borderColor = "45,215,16";
          arr[i].borderWidth = 2;
          arr[i-1].borderWidth = 0;
          i = i+1;
          setColor();
        }else{
          arr[i-1].borderWidth = 0;
          i = 0;
          setColor();
        }
      }, 5000);
    })(i);
  })(nodeExample);

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
吃藕丑

那就保存一下定時(shí)器唄
每次執(zhí)行完定時(shí)器清空
執(zhí)行前判斷一下定時(shí)器是否還在
還在說(shuō)明有任務(wù)等待執(zhí)行
不在了就說(shuō)明任務(wù)已經(jīng)執(zhí)行完了
可以再次執(zhí)行任務(wù)
順便再保存一下定時(shí)器

2018年6月4日 04:44