我希望等待一系列调用中的promise对象数组。 但是,当我使用以下调用时,没有任何事情发生:
$.when.apply(null, promises).done(processFinalTable());
执行下面的代码按预期工作:
$.when.apply(null, promises).done(processFinalTable);
执行级别发生了什么?
以下是工作jsFiddle example
的链接答案 0 :(得分:1)
在第一个中,您正在调用函数processFinalTable,并将其结果传递给done()。
在第二个中,您正在传递函数本身,这是done()需要正确执行的。
答案 1 :(得分:1)
在第一个中,processFinalTable函数执行,而done方法获取其返回值,该值将在进程完成时尝试执行此返回值。
在第二个方法中,done方法接受函数本身,以便在完成进程时可以使用它。