異步函數的使用

案例:使用異步函數完成文件的依次讀取

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關鍵字的特點:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章