如何在javascript中运行序列函数

时间:2013-06-20 02:51:55

标签: javascript

如何在JavaScript中运行序列函数: 我有4个这样的函数:

function myfunction()
{
   callfunction1();
   callfunction2();
}

在callfunction1中:

function callfunction1()
{
    callfunction3();
}

当我调用“callfunction1”时,我的问题是“myfunction”,callfunction1运行并调用“callfunction3”但是当“callfunction3”没有完成时,“callfunction2”正在运​​行。无论如何要等待“callfunction3”完成然后运行“callfunction2”?

1 个答案:

答案 0 :(得分:3)

JavaScript是单线程的,callfunction2只会在callfunction3完成后才会运行。

但是,如果callfunction3包含一些AJAX或其他异步操作,那么这将始终发生在callfunction2之后(由于单线程的事情,它无法启动异步回调,直到同步的东西已经完成)。任何依赖于异步函数结果的东西必须在函数本身中,或者由所述函数调用。