javascript - 从 javascript 函数返回而不等待被调用的函数

标签 javascript

我有一个 JavaScript function1,它调用另一个 function2,我的要求是函数 1 不应该等待函数 2 执行。

我的函数 2 调用 ajax,这使得进程延迟,导致用户等待我的函数 2 返回。 当 function1 调用 function2 时,我可以从 function1 返回吗?

最佳答案

你可以这样做:

function f()
{
 f1();
 console.log("I'm impatient, can't wait for f1");
}
function f1()
{
 setTimeout(function(){f2();},0);
}
function f2()
{
 // your function which takes a long time to run
 for(var i =0;i<10000000;i++);
 console.log("I'm f2 and I'm finally done!");
}
f();

这是如何工作的?

当你调用f1()时,它有setTimeout函数。 setTimeout看到该函数,将其放入事件队列,该语句就完成了。程序控制返回到 f() 并打印“I'm impregnant, can't wait for f1”,然后当 f2 执行完毕时,“I'm f2 and I'mfinally!”被打印。

关于javascript - 从 javascript 函数返回而不等待被调用的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27076320/

相关文章:

javascript - 有人可以向我解释为什么绑定(bind)方法在这些示例中不起作用

javascript - 如何检测何时使用 JavaScript 动态注入(inject)多个样式表

php - Tinymce - 插入html代码

javascript - 限制可以使用文本区域写入的行数

javascript - 单击 Webkit 通知时如何从浏览器中的任何其他选项卡返回当前选项卡

javascript - 有没有办法尝试/捕捉来自给定 &lt;script&gt; 标签的任何 JS 噪音

javascript - 用 observable 替换回调 hell

javascript - WordPress 根本不加载插件脚本

javascript - 寻找快速传播内容的想法

javascript - 如果鼠标悬停在图像div上,则显示图像div对应的信息div