总结:其外围原理在于如果 return回一个新的Promise,下一个then解决的是这个Promise,会期待这个Promise产生扭转。
(function queue(args) { args.reduce((promise, cul) => { return promise.then((_) => { return new Promise((resolve) => { setTimeout(() => { console.log(cul); resolve(); }, 1000); }); }); }, Promise.resolve()); })([1, 2, 3, 4, 5, 6]);