Node.js 使用FS读取带有NodeJS的.txt文件
我正在尝试使用NodeJS通过fs读取一个txt文件。这是app.js的代码:Node.js 使用FS读取带有NodeJS的.txt文件,node.js,fs,Node.js,Fs,我正在尝试使用NodeJS通过fs读取一个txt文件。这是app.js的代码: var fs = require('fs'); function read(file) { return fs.readFile(file, 'utf8', function(err, data) { if (err) { console.log(err); } return data; }); } var output =
var fs = require('fs');
function read(file) {
return fs.readFile(file, 'utf8', function(err, data) {
if (err) {
console.log(err);
}
return data;
});
}
var output = read('file.txt');
console.log(output);
当我这样做时:
node app.js
上面说
undefined
我安装了fs,同一个目录中有一个file.txt,为什么它不工作?您的
read
函数正在返回fs.readFile
函数的结果,该函数是未定义的,因为它没有return子句(它使用回调)。您的第二个return子句位于匿名函数中,因此它只返回该范围。无论如何,您的函数在第一次返回后就知道它已经完成了
使用fs.readFile
的标准方法是使用回调
var fs = require('fs');
function read(file, callback) {
fs.readFile(file, 'utf8', function(err, data) {
if (err) {
console.log(err);
}
callback(data);
});
}
var output = read('file.txt', function(data) {
console.log(data);
});