使用 Promise 封装 SetTimeout 定时器

代码举例:

  1. // 方法:XX秒后执行指定的代码。这个方法,就是在宏任务(定时器)的执行过程中,创建了一个微任务(resolve)
  2. function delaySeconds(delay = 1000) {
  3. return new Promise((resolve) => setTimeout(resolve, delay));
  4. }
  5. delaySeconds(2000)
  6. .then(() => {
  7. console.log('qiangu');
  8. return delaySeconds(3000);
  9. })
  10. .then(() => {
  11. console.log('yihao');
  12. });

打印结果:

  1. // 2秒后打印:
  2. qiangu
  3. // 再等3秒后打印:
  4. yihao