我正在使用fs mudule读取.txt文件内容,但结果始终为空。我的.txt文件确实包含内容,有人可以帮我吗?这是我的测试代码:
var fs = require("fs");
var content = "";
fs.readFile("2.txt", "utf8", function(err, data){
if(err) {
return console.log("fail", err);
}
content = data;
});
console.log(content);
content
在控制台中为空。
答案 0 :(得分:1)
您将结果写得太早了。您应该将结果记录在readFile
回调中。
var fs = require("fs");
var content = "";
fs.readFile("2.txt", "utf8", function(err, data){
if(err) {
return console.log("fail", err);
}
content = data;
console.log(content);
});
// The console log below will be executed right after the readFile call.
// It won't wait the file to be actually read.
// console.log(content);
或者您可以像这样编写相同的逻辑:
const fs = require('fs');
async function main() {
try {
const content = await fs.promises.readFile('2.txt', 'utf8');
console.log(content);
} catch (ex) {
console.trace(ex);
}
}
main();