Как получить обратный вызов для правильного выполнения, когда в функции есть цикл for? - PullRequest
0 голосов
/ 16 октября 2018

Кажется, что так как у меня есть цикл for и несколько сценариев if / else, обратный вызов никогда не срабатывает.Когда я удаляю "цикл", он работает нормально.Что я здесь не так делаю?Как заставить обратный вызов ждать, пока все циклы for и условия не будут завершены?Спасибо!

var myArray = ["one","two","three","four","five","six","seven","eight","nine","ten"];

function myFunction(arg1,arg2,arg3,arg4,arg5,callbackFunction){

        if (arg1 == "arg1"){

            for (var i=0; i<=myArray.length; i++){

                    if(arg2 == "arg2"){

                        if(arg3 == "arg3"){    

                            if(arg4 == "arg4"){

                                 //some code

                            }else{ 
                                if(arg5 == "arg5"){
                                        //some code
                                    }else{
                                        //some code
                                    }
                                //some code
                            }
                        }else{ 
                           //some code
                        }
                    } 
                    else{
                        //some code
                    }
            }
        }else{
            //some code
        }  

        if (callbackFunction){
            callbackFunction();
        }
}

myFunction("arg1","arg2","arg3","arg4","arg5",function(){
    alert("done");                                            
});

1 Ответ

0 голосов
/ 16 октября 2018

Благодаря комментариям выше я понял, что, поскольку я взаимодействовал с After Effects, программа заставляла функцию возвращать что-то и не позволяла обратному вызову сработать.Я просто добавил это сразу после объявления for и перед всеми условиями:

if(i==myArray.length){break;}

, и это решило проблему.Спасибо, ребята!

R

...