不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:Albert.Wen  添加时间:2023-07-10 22:08:05  修改时间:2024-05-07 14:37:17  分类:前端/Vue/Node.js  编辑

在nodejs8.0+的版本中,已经支持 await, async 异步关键字了,实现“异步延迟”就简单多了

封装代码

common.js

class Ut {
  /**
  * 异步延迟
  * @param {number} time 延迟的时间,单位毫秒
  */
  static sleep(time = 0) {
    return new Promise((resolve, reject) => {
      setTimeout(() => {
        resolve();
      }, time);
    })
  };
}
 
module.exports = Ut;

使用例子

test.js

let Ut = require("./common");
 
(async () => {
  console.log("开始");
  let t1 = +new Date();
  console.time("总延迟");
 
  console.time("第一次延迟");
  await Ut.sleep(2000);
  console.timeEnd("第一次延迟");
 
  console.time("第二次延迟");
  await Ut.sleep(4000);
  console.timeEnd("第二次延迟");
 
  console.timeEnd("总延迟");
  let t2 = +new Date();
  console.log(t2 - t1);
})()

运行结果

 

 

摘自:

https://blog.csdn.net/zzwwjjdj1/article/details/78931272