我在Javascript代码中有两个函数,一个在另一个中循环。
类似的东西:
function doThis(){
doThat();
window.setTimeout( doThis , 2000);
}
function doThat(){
if(someCondition){
window.clearTimeout(id)
}
var id = window.setTimeout( doThat, 10000);
}
我到底想做什么:
加载doThis
后立即调用window
。现在,一旦调用它,它应该将控制权移交给doThat()
,等待10秒再重新执行。
现在,执行doThat()
直到if
编码满足。然后,它应该将控制权交还给doThis()
,然后等待2秒并反复重复这个循环。
我不想使用jQuery(回调或链接的东西)或任何其他javaScript libarary。如何做到这一点?
答案 0 :(得分:2)
如果我理解正确,
function first() {
setTimeout(second, 1000)
}
function second() {
if(condition) {
setTimeout(first, 2000)
} else {
setTimeout(second, 10000)
}
}
无需在任何地方保存超时或清除它。
答案 1 :(得分:0)
使用setInterval()
可能更合适:link