我有一个 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/