我在Javascript代码中有两个函数,一个在另一个中循环。
就像是:
function doThis(){
doThat();
window.setTimeout( doThis , 2000);
}
function doThat(){
if(someCondition){
window.clearTimeout(id)
}
var id = window.setTimeout( doThat, 10000);
}
我到底想做什么:
doThis
加载后立即调用。现在,一旦调用它,它应该将控件移交给window
,它等待10秒钟,然后再次执行。现在,执行
doThat()
直到满足doThat()
的条件为止。然后,应将控件交还给if
,然后应等待2秒钟并反复重复此循环。我不想使用jQuery(回调或链接的东西)或任何其他javaScript库。该怎么做?
最佳答案
如果我理解正确,
function first() {
setTimeout(second, 1000)
}
function second() {
if(condition) {
setTimeout(first, 2000)
} else {
setTimeout(second, 10000)
}
}
无需将超时保存在任何地方或清除它。