我正在使用$.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请求的回调。