Javascript Node js在嵌套的fs.readFile调用中提供未定义的数据
这是我在nodejs的第一个项目。我无法找到原因: “/home/shaurya/Desktop/test.txt”以字符串形式包含文件的位置。我正在外部readFile调用中读取这个test.txt,并将文件内容作为参数传递给内部readFile test.txt的内容是:/home/shaurya/Desktop/Parser.hs 我希望我将以字符串形式获得console.log(filedata2)调用的输出。 相反,我得到了未定义的Javascript Node js在嵌套的fs.readFile调用中提供未定义的数据,javascript,node.js,Javascript,Node.js,这是我在nodejs的第一个项目。我无法找到原因: “/home/shaurya/Desktop/test.txt”以字符串形式包含文件的位置。我正在外部readFile调用中读取这个test.txt,并将文件内容作为参数传递给内部readFile test.txt的内容是:/home/shaurya/Desktop/Parser.hs 我希望我将以字符串形式获得console.log(filedata2)调用的输出。 相反,我得到了未定义的 有什么想法吗 我也有类似的问题。为了解决这个问题,
有什么想法吗
我也有类似的问题。为了解决这个问题,您需要将.trim()方法附加到filedata1
。显然,有时文本编辑器会在流结束后添加额外的空格或新行字符。这应该能解决你的问题
您的新代码:
fs.readFile("/home/shaurya/Desktop/test.txt","utf-8",
function(err,filedata1){
fs.readFile(filedata1.trim(),"utf-8",function(err,filedata2){
console.log(filedata1);
console.log(filedata2);
});
});
//请注意filedata1
后面的.trim()是否包含任何内容?在任一调用中?尝试记录错误,我打赌尝试读取hs文件时出错错误:enoint:没有这样的文件或目录,打开“/home/shaurya/Desktop/Parser.hs”,但有一个有效的文件,我交叉检查。啊,不,看起来你有一个尾随空格<代码>'/home/shaurya/Desktop/Parser.hs'
或者这是另一个打字错误吗/
fs.readFile("/home/shaurya/Desktop/test.txt","utf-8",
function(err,filedata1){
fs.readFile(filedata1.trim(),"utf-8",function(err,filedata2){
console.log(filedata1);
console.log(filedata2);
});
});