等待函数完成对其他函数的调用

wait till function completes calling other functions

本文关键字:函数 调用 其他 等待      更新时间:2023-09-26

我有一个函数1,它调用另一个函数2。函数2有一个for循环,它在其中调用函数3。我想在对函数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);
}

我认为您所需要做的就是创建一个变量,每当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);
    }
}

如果你想确保函数3做了你想做的3次,那么把增量放在函数3中。我希望这能有所帮助!