博客由来:
var admins;
var admins2;
await fs.readFile(path.resolve(__dirname,'../../admins.json'),function(err,data){
admins=data.toString();
console.log(admins);
console.log(111);
admins2=JSON.stringify(data);
console.log(admins2);
console.log(11111);
});
console.log(admins2);
console.log(222222);
console.log(admins);
console.log(222);
输出:外部的输出undefined,导致后续操作无法进行。
let admins=JSON.parse((await fs.readFileSync(path.resolve(__dirname, '../../admins.json'))).toString());
输出:成功执行下去。
由此开始对这两个方法的对比:
fs.readFile
以异步的方式读取文件内容。
语法:fs.readFile(filename, [encoding], [callback(err,data)])
接收参数:
filename 文件路径
options option对象,包含 encoding,编码格式,该项是可选的。
callback 回调,传递2个参数 异常err 和 文件内容 data
var fs = require('fs');
fs.readFile('content.txt','utf-8', function(err,data){
if(err){
console.log(err);
}else{
console.log(data);
}
})
fs.readFileSync
同步版的 fs.readFile() 。
语法:fs.readFileSync(filename, [encoding])
接收参数:
filename 文件路径
options option对象,包含 encoding,编码格式,该项是可选的。
var fs = require('fs');
var contentText = fs.readFileSync('123.txt','utf-8');
console.log(contentText);