我有两个函数。第二个比第一个快,函数怎么能等到第一个完成呢?
function1(); // slow
function2(); // fast
最佳答案
JavaScript 是命令式和单线程的,它就是这样工作的。在 function1()
完成之前,function2()
不会启动。
如果您所说的慢是指通过 AJAX 异步调用某些外部服务,那么我们正在讨论。 function1()
必须提供某种回调,以便在异步请求完成时调用 function2()
:
function1(function2);
实现很简单,例如使用 jQuery:
function function1(callback) {
$.ajax({url: 'some-url'}).done(callback);
}
关于javascript - 等待功能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13100057/