我正在使用$.when().then()以特定顺序处理函数。一切都按预期工作,但是如果 when 中的函数需要大量DOM操作或相对较慢的ajax请求,则 then 中的函数会在when完成之前执行。我在JSFiddle上重复了结果:

http://jsfiddle.net/7ZSrv/3/
run_last应该最后运行,但是正如您所见,它不是最后运行。在这种情况下,我是否使用了不正确的时间/时间?任何帮助,将不胜感激!

最佳答案

$.when(
   $.get('/', process1),
   $.get('/', process2),
   $.get('/', process3))
   .then(function(){
         $.get('/echo/html', run_last);
    });

解决问题。您正在将直接执行的$.get请求传递给then,而不是将运行get请求的回调。

10-06 15:43
查看更多