使用promise方式写settimeout

//使用promise方式写settimeout,
//好处就是用于写动画的时候只需知道后一个的动画在前一个动画结束后多久执行
console.time('settimeout:');//开始计算这段程序的执行时间
setTimeout(() => {
  console.log(1);
  try {
    throw new Error('e');//抛出异常,如果不捕获的话就会停止运行2,3,4
  } catch (error) {
    console.log(error);
  }
  setTimeout(() => {
    console.log(2);
    setTimeout(() => {
      console.log(3);
      setTimeout(() => {
        console.log(4);
        console.timeEnd('settimeout:');//输出执行时间
      }, 1000);
    }, 1000);
  }, 1000);
}, 1000);

/**
输出如下:
1
Error: e
    at Timeout.setTimeout [as _onTimeout] (E:dk	est
ode	ime.js:6:11)
    at ontimeout (timers.js:475:11)
    at tryOnTimeout (timers.js:310:5)
    at Timer.listOnTimeout (timers.js:270:5)
2
3
4
settimeout:: 4025.268ms
*/
原文地址:https://www.cnblogs.com/dkplus/p/8472517.html