const fs = require('fs'); const readFile = function (fileName) { return new Promise(function (resolve, reject) { fs.readFile(fileName, "utf-8",function(error, data) { if (error) return reject(error); resolve(data); }); }); }; const gen = async function() { const f1 = await readFile('./data1.txt'); const f2 = await readFile('./data2.txt'); console.log(f1); console.log(f2); }; gen();
上面是读取两个文件的例子
和co模块相比较
co
模块约定,yield
命令后面只能是 Thunk 函数或 Promise 对象,而async
函数的await
命令后面,可以是 Promise 对象和原始类型的值(数值、字符串和布尔值,但这时等同于同步操作)。