利用 async 和 Promise(推荐)

封装睡眠函数:

  1. function sleep(ms) {
  2. return new Promise((resolve) => {
  3. setTimeout(resolve, ms);
  4. });
  5. }

使用方式1,使用立即函数形式 :

  1. (async function () {
  2. await sleep(2000);
  3. console.log("2s后执行");
  4. await sleep(2000);
  5. console.log("2s后执行");
  6. })()

使用方式2,在函数前加 async 关键字:

  1. async function start() {
  2. await sleep(2000);
  3. console.log("2s后执行");
  4. await sleep(2000);
  5. console.log("2s后执行");
  6. }
  7. start();

使用 Promise(不推荐)

封装函数:

  1. const sleep = (time) => {
  2. return new Promise((resolve) => {
  3. setTimeout(resolve, time);
  4. });
  5. };

使用方式,嵌套写法,难阅读:

  1. sleep(2000).then(() => {
  2. console.log('2s后执行');
  3. sleep(2000).then(() => {
  4. console.log('2s后执行');
  5. })
  6. });

参考:https://www.cnblogs.com/muzidaitou/p/12734914.html