乐趣区

async函数学习笔记。

含义
async 函数是什么?一句话,它就是 Generator 函数的语法糖。
const fs = require(‘fs’)
const readFile = function(fileName){
return new Promise(function(resolve,reject){
fs.readFile(fileName,function(error,data){
if(error) return reject(error);
resolve(data);
})
})
}
const gen = function*(){
const f1 = yield readFile(‘/etc/fstab’);
const f2 = yield readFile(‘/etc/shells’);
console.log(f1.toString());
console.log(f2.toString());
}
// 上面代码的函数 gen 可以写成 async 函数,就是下面这样。
const asyncReadFile = async function(){
const f1 = await readFile(‘/etc/fstab’);
cosnt f2 = await readFile(‘/etc/shells’);
console.log(f1.toString());
console.log(f2.toString());
}
一比较就会发现,async 函数就是将 Generator 函数的星号替换成 async,将 yield 替换成 await,仅此而已。

退出移动版