我有一个调用另一个function2的function1。 Function2有一个for循环,在其中调用function3。我想在对函数3的所有3次调用完成后执行一个语句。我如何实现它?
function1: function(){
function2(args, doSomething(returnValue) {
if(returnValue == true){
// do something here
}
});
}
function2: function(args, callback){
for(var i = 0; i < 3; i++){
function3(args);
}
// if function3 completed all 3 times
callback(true);
}
答案 0 :(得分:1)
我认为你需要做的就是创建一个变量,每当for循环在function2()
中运行时递增,并检查它是否在for循环之外足够高。
var timesCalled = 0
function1: function(){
function2(args, doSomething(returnValue) {
if(returnValue == true){
// do something here
}
});
}
function2: function(args, callback){
for(var i = 0; i < 3; i++){
function3(args);
timesCalled++
}
if (timesCalled >= 2){// if function3 completed all 3 times
callback(true);
}
}
如果你想确保function3做你想做的3次,那么把增量放在function3中。我希望这有帮助!