我想使用jquery的deferred/promise实现来排队多个异步ajax请求:
function doSomething() { console.log('doSomething')}; function makeMultiAjaxRequests1() { console.log('makeMultiAjaxRequests1')}; function makeMultiAjaxRequests2() { console.log('makeMultiAjaxRequests2')}; var step1 = function () { var promise = new $.Deferred().promise(); makeMultiAjaxRequests1(); return promise; } var step2 = function () { var promise = new $.Deferred().promise(); makeMultiAjaxRequests2(); return promise; } step1() .then(step2()) .done(doSomething()); $.when(step1(), step2()) .done(function () { doSomething(); });
这是小提琴链接.所以我的问题是:
在并行执行step1和step2的模式中,代码没有到达最后一个处理函数.为什么?