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美分即可。。