Node - 模块与异步

2020-05-08  本文已影响0人  酷热summer

1、模块

2、异步: 非阻塞 I/O

const glob = require('glob');

let result = null;
let result2 = null;

console.time('glob');
result = glob.sync(__dirname + "/**/**");  
console.timeEnd('glob');        // 阻塞模式,执行完耗时14.778ms


console.time('glob1');
glob(__dirname + "/**/**", function (err, res) {
  result = res;
  console.log(result);
})
console.timeEnd('glob1');      // 非阻塞式,执行完耗时 2.963ms

3、异步: callback

4、异步: 事件循环

事件循环是 nodejs 实现非阻塞 I/O 的关键。

5、异步: Promise

5.1 定义

5.2 then 和 catch

如果出现多个并发请求的时候,可以使用:

 Promise.all([promise1, promise2])
.then(()=> {})
.catch(err=> {
  console.log(err);        //  此处只会捕获第一个抛出的异常
})

6、异步: async/await

上一篇下一篇

猜你喜欢

热点阅读