总结:其核心原理在于如果 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]);

不唯有与他人告别
24 声望4 粉丝

不唯有与他人告别