var fs=require('fs');
fs.readFile('input.txt',function(err,data){
if(err)
console.log(err);
console.log(data.toString());
});
console.log('Program ended');
节点nblock.js
*****出现以下错误******
TypeError: Cannot read property 'toString' of undefined at ReadFileContext.callback (C:\projects\text\nblock.js:5:19) at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:420:13)
答案 0 :(得分:1)
为了避免该错误,请尝试在出现错误时返回,这样就不会执行if
语句之后的行。
var fs=require('fs');
fs.readFile('input.txt',function(err,data){
if(err)
return console.log(err);
console.log(data.toString());
});
console.log('Program ended');
答案 1 :(得分:0)
因此,当文本文件“ input.txt”与程序本身位于同一目录时,该程序对我有用。您可能在同一目录中没有此文件,可以添加;
var fs = require('fs');
fs.readFile('input.txt', function(err, data) {
if (!data) { // Check if we have retrieved any data
console.log('There is no file, ', err);
return;
}
console.log(data.toString());
});
console.log('Program ended');
这实际上是在尝试对可能未定义的变量toString()
运行data
方法之前检查是否有任何东西。