Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 交换机内的回调_Javascript_Callback - Fatal编程技术网

Javascript 交换机内的回调

Javascript 交换机内的回调,javascript,callback,Javascript,Callback,我正在尝试解决如何在调用其他函数之前等待所有指定的函数完成。现在我有一些类似的东西: for (i = 0; i < valueArray.length; i++){ SwitchCall(valueArray[i]); } function SwitchCall(value){ switch(value){ case 1: FunctionOne(); break; case 2: FunctionTwo(); break;

我正在尝试解决如何在调用其他函数之前等待所有指定的函数完成。现在我有一些类似的东西:

for (i = 0; i < valueArray.length; i++){
    SwitchCall(valueArray[i]);
}

function SwitchCall(value){
    switch(value){
        case 1: FunctionOne(); break;
        case 2: FunctionTwo(); break;
        case 3: FunctionThree(); break;
    }
}

SomeOtherFunction()
(i=0;i{ SwitchCall(valueArray[i]); } 函数SwitchCall(值){ 开关(值){ 案例1:FunctionOne();中断; 案例2:FunctionTwo();中断; 案例3:FunctionThree();中断; } } SomeOtherFunction()
其中,
valueArray
是包含{1,2,3}的某些子集的数组。我需要在调用
SomeOtherFunction
之前完成数组中指定的所有函数。我想我需要在这三个函数中加入某种回调,但我不能在这些回调中调用
SomeOtherFunction
,因为我可能需要先完成其他函数。如何在继续之前等待所有这些函数完成?

您可以将承诺与jQuery一起使用

var async1 = FunctionOne();
var async2 = FunctionTwo();
var async3 = FunctionThree();

$.when(async1, async2, async3).done(function(async1, async2, async3) {
  //When all done!
  SomeOtherFunction()
});

您可以将承诺与jQuery一起使用

var async1 = FunctionOne();
var async2 = FunctionTwo();
var async3 = FunctionThree();

$.when(async1, async2, async3).done(function(async1, async2, async3) {
  //When all done!
  SomeOtherFunction()
});

您可能需要阅读javascript中的承诺:有任何函数是异步的吗?@KevBot它们都是异步的。下面是一个关于JQuery承诺的好例子:您可能需要阅读javascript中的承诺:有任何函数是异步的吗?@KevBot它们都是异步的。下面是一个关于JQuery承诺的好例子: