0

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

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

在调用函数 1 中:

function callfunction1()
{
    callfunction3();
}

当我调用“callfunction1”时,我的问题出在“myfunction”中,callfunction1 正在运行并且它调用“callfunction3”但是当“callfunction3”尚未完成时,“callfunction2”正在运​​行。无论如何都要等待“callfunction3”完成然后“callfunction2” “跑了?

4

1 回答 1

3

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

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

于 2013-06-20T02:54:15.003 回答