javascript - 如何在 JavaScript 中运行序列函数

标签 javascript

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

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

在callfunction1中:

function callfunction1()
{
    callfunction3();
}

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

最佳答案

JavaScript 是单线程的,callfunction2 仅在 callfunction3 完全完成后运行。

但是,如果callfunction3包含一些AJAX或其他异步操作,那么这总是会在callfunction2之后发生(因为单线程的原因,它无法启动异步回调直到同步任务完成之后)。任何依赖于异步函数结果的内容都必须位于函数本身中,或者由该函数调用。

关于javascript - 如何在 JavaScript 中运行序列函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17204537/

相关文章:

javascript - 如何将复选框附加到主 div 的子 div

javascript - 在从 MysQL 数据库填充的 textarea 字段中嵌入 <br> 标签?

javascript - 如何将回调 hell 转化为 promise ?

javascript - 别这样折叠我

javascript - 如何创建多个表并在每个表中存储json数据

javascript - Javascript 的 toUpperCase() 语言安全吗?

javascript - val() 变化时触发 JS 事件

javascript - 如何使用highcharts显示多个饼图

javascript - 打包基于 Handlebars 的小部件 : javascript and html

javascript - 等待模板自己的事件为自己的助手更改 session