我在javascript中设置和清除超时问题。
我想将var test2设置为var test的备份
但是如果测试有效,我必须删除test2

var timeSec=2000;

var test = setTimeout(function() {
          clearTimeout(test2);
          jQuery('.next',curdoc)[0].click();

    }, timeSec);
var test2 = setTimeout(function() {
              // do something else
        }, timeSec+timeSec);

最佳答案

test要做的第一件事是清除test2超时。这将在timeSec之后发生。 test2永远不会执行,因为它将在timeSec * 2之后运行,但会在一半时间内被清除。
仅在成功执行任何要执行的test2后,才应清除test

var timeSec=2000;

var test = setTimeout(function() {
      jQuery('.next',curdoc)[0].click();
      if(successful()) {
          clearTimeout(test2);
      }
}, timeSec);
var test2 = setTimeout(function() {
          // do something else
}, timeSec+timeSec);

关于javascript - 2 setTimeout函数第一个清除第二个javascript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36357825/

10-10 01:18