function multistep(steps, args, callback) { var tasks = steps.concat(); //克隆数组 setTimeout(function() { //执行下一任务 var task = task.shift(); task.apply(null, args || []); if (tasks.length > 0) { setTimeout(arguments.callee, 25); } else { callback(); } }, 25); }
原文:https://www.cnblogs.com/hq2020/p/14717531.html