如何在JavaScript中运行序列函数: 我有4个这样的函数:
function myfunction()
{
callfunction1();
callfunction2();
}
在callfunction1中:
function callfunction1()
{
callfunction3();
}
当我调用“callfunction1”时,我的问题是“myfunction”,callfunction1运行并调用“callfunction3”但是当“callfunction3”没有完成时,“callfunction2”正在运行。无论如何要等待“callfunction3”完成然后运行“callfunction2”?
答案 0 :(得分:3)
JavaScript是单线程的,callfunction2
只会在callfunction3
完成后才会运行。
但是,如果callfunction3
包含一些AJAX或其他异步操作,那么这将始终发生在callfunction2
之后(由于单线程的事情,它无法启动异步回调,直到同步的东西已经完成)。任何依赖于异步函数结果的东西必须在函数本身中,或者由所述函数调用。