我刚在程序中遇到了fs.readFile()的一个奇怪问题。该文件不大(只有500k大小),它是一个JSON.stringify(obj)字符串。我试图把它读出来并传递给前端。 在fs.readFile(“/ path / filename”,“utf8”,函数(e,data){})的回调中。我只有完整的字符串。
fs.readFile("/path/filename",'utf8', function (err,data) {
if(err) {
throw err;
} else {
let str = JSON.parse(data); // it will throw error by saying "SyntaxError: Unexpected end of JSON input"
}
});
您是否遇到过此问题?阅读整个/完整文件的解决方案是什么? PS:我已经手动检查了文件内容,它很好并且完成了JSON字符串。
答案 0 :(得分:0)
我只知道我的程序中出错了什么。在写入文件未完全完成之前,我的读取文件的触发信号“发送得太快”。我设置一些超时只需100ms解决了这个问题,我可以读出完整的json字符串来解析成对象。