Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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_Asynchronous - Fatal编程技术网

javascript中的异步化

javascript中的异步化,javascript,asynchronous,Javascript,Asynchronous,我目前正在编写一个应用程序,它会出现一个视图,然后在完成后会出现另一个视图。我当前的代码如下所示: Controller.startMove("view1", true, true); Controller.startMove("view2", true, true); StartMove是一个在实现调用功能的同时获取并显示视图的函数。 第二个和第三个参数是与此问题无关的其他事项的标志。我的问题是,;在执行第二个函数之前,如何“等待”第一个函数完成?现在,如果我

我目前正在编写一个应用程序,它会出现一个视图,然后在完成后会出现另一个视图。我当前的代码如下所示:

        Controller.startMove("view1", true, true);
        Controller.startMove("view2", true, true);
StartMove是一个在实现调用功能的同时获取并显示视图的函数。
第二个和第三个参数是与此问题无关的其他事项的标志。我的问题是,;在执行第二个函数之前,如何“等待”第一个函数完成?现在,如果我把两者都拿出来,它就不知道该显示哪个视图,而且会发疯

JavaScript中的典型模式是为异步函数调用提供回调函数。异步调用完成后,将执行回调

例如:

Controller.startMove(“视图1”,真,真,函数(){
Controller.startMove(“view2”,true,true,function(){
//搬走了。
}
}

您需要编辑Controller.startMove方法来处理callback+1。不过,使用匿名函数的问题是,最终可能会产生相当高的嵌套级别。如果超过2-3级,我建议在主作用域中定义命名函数并调用它们。只需2美分即可。。