fs.readFile()不读取整个文件,每次读取内容都缺少几个部分

时间:2017-04-20 02:35:26

标签: node.js file readfile

我刚在程序中遇到了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字符串。

1 个答案:

答案 0 :(得分:0)

我只知道我的程序中出错了什么。在写入文件未完全完成之前,我的读取文件的触发信号“发送得太快”。我设置一些超时只需100ms解决了这个问题,我可以读出完整的json字符串来解析成对象。