Tag: waterfall

jQuery Deferreds的异步循环(promises)

我试图创造我认为被称为“瀑布”的东西。 我想顺序处理一系列异步函数(jQuery promises)。 这是一个人为的例子: function doTask(taskNum){ var dfd = $.Deferred(), time = Math.floor(Math.random()*3000); setTimeout(function(){ console.log(taskNum); dfd.resolve(); },time) return dfd.promise(); } var tasks = [1,2,3]; for (var i = 0; i < tasks.length; i++){ doTask(tasks[i]); } console.log("all done"); 我希望它按照它们执行的顺序完成任务(存在于数组中)。 因此,在这个例子中,我希望它执行任务1并等待它解决然后执行任务2等待它解决,执行任务3等并且日志“全部完成”。 也许这是非常明显的,但我一直试图在整个下午解决这个问题。