我有调用另一个函数2的javascript函数1我的要求是函数1不应该等待函数2的执行。从javascript函数返回而不等待被调用函数
我的函数2调用ajax,使进程延迟导致用户等待,直到我的函数2返回。 只要function1调用function2,我是否可以从function1返回?
我有调用另一个函数2的javascript函数1我的要求是函数1不应该等待函数2的执行。从javascript函数返回而不等待被调用函数
我的函数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(),并且“我不耐烦,等不及f1”被打印,然后当f2完全执行时,“我是f2,我终于完成了!”被打印。
使用setTimeout来调用函数2,函数将返回。 – Aravind 2014-11-22 10:28:08
实际上,如果使用它的异步版本,调用ajax不会使进程延迟。 – 2014-11-22 10:30:43
你能提供你的代码吗? – 2014-11-22 10:34:37