异步函数的使用

案例:使用异步函数完成文件的依次读取

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关键字的特点:

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