案例:使用異步函數完成文件的依次讀取
const fs = require('fs');
//因爲readFile方法返回的不是promise對象,而await後面只能是promise對象,所以用promisify包裝一下成promise對象
const promisify = require('util').promisify;
//將readFile包裝成返回值爲promise對象的方法並接收
const readFile = promisify(fs.readFile);
//用await修飾能夠暫停異步函數,達到依次讀取的效果並且能直接拿到函數執行的返回值
let run = async() => {
let res1 = await readFile('1.txt', 'UTF8');
let res2 = await readFile('2.txt', 'UTF8');
let res3 = await readFile('3.txt', 'UTF8');
console.log(res1);
console.log(res2);
console.log(res3);
}
run();
異步函數async關鍵字的特點:
await關鍵字的特點: