我想用setTimeout
递归调用几个函数。用setTimeout递归调用一个函数
var flag = 0 ;
function slave1(){
if(flag < 60) {
var COPY_PO_LINE_DIV = document.getElementById("DOM_ELEMENT1"); // Checking if DOM has loaded or not. If yes then doing something.
if (COPY_PO_LINE_DIV != null) {
flag = 0;
//doing something
} else {
setTimeout(slave1,2000); //waiting for 2 seconds and checking again.
}
}
}
//doing similar task
function slave2(){
if(flag < 60) {
var COPY_PO_LINE_DIV = document.getElementById("DOM_ELEMENT2");
if (COPY_PO_LINE_DIV != null) {
flag = 0;
//doing something
} else {
setTimeout(slave2,2000);
}
}
}
function master() {
slave1();
console.log("Without completing slave1 function.");
slave2();
}
通过master()
功能我想打电话给多种功能此起彼伏,然而,在目前的情况下其调用slave2()
没有完成slave1()
。我如何确保slave1()
已执行完成。如果没有加载DOM元素,则应该每2秒执行60次,并且应该从slave1()
开始执行,然后转到下一个。
如果不加载dom元素而没有将控件返回到下一个函数,我想执行60次相同的函数。
你使用任何JS库或者它必须是纯JS解释这个问题? – Tomalak 2014-08-27 11:44:20
Pure JS .................... – 2014-08-27 13:49:15