const fs = require("fs");
//文件读取返回一个promi对象!
function readFile(filename) {
return new Promise((resolve,reject) => {
fs.readFile(filename,(err,data) => {
if (err) {
reject(err);
}else {
resolve(data.toString());
}
});
})
}
//第三种async方法实现异步读取文件!!!
async function asyncReadfile() {
try {
let data1 = await readFile("./test001.txt");
console.log(data1);
let data2 = await readFile("./test002.txt");
console.log(data2);
} catch (data2) {
console.log(err);
}
}
asyncReadfile();
// //第二种Generator方法实现异步读取文件!!!
// //Generator生成器相当于一个数组,可以for...of迭代!
function* myGenerator() {
yield readFile("./test001.txt");
yield readFile("./test002.txt");
}
for(promiseData of myGenerator()){
promiseData.then((value) => {
console.log(value);
}).catch((err) => {
console.log(err);
})
}
//第一种promise方法实现异步读取文件!!!
readFile("./test001.txt").then((value) => {
console.log(value);
return readFile("./test002.txt")
}).then((value) => {
console.log(value);
}).catch((err) =>{
console.log(err);
});
/**
* test001.txt文件!!
* test002.txt文件!!
*/
版权声明:本文为weixin_43343144原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。