fs.readFile() 没有读取整个文件,并且每次读取的内容都会丢失一些部分

Rob*_*bin 1 file readfile node.js

我刚刚在程序中遇到了 fs.readFile() 的一个奇怪问题。文件不大(只有500k大小),它是一个JSON.stringify(obj)字符串。我正在尝试将其读出来并将其传递给前端。\n在 fs.readFile("/path/filename", "utf8", function(e,data){}) 的回调中,我只得到不完整的字符串。

\n\n
    fs.readFile("/path/filename",\'utf8\', function (err,data) {\n            if(err) {\n               throw err;\n            } else {\n               let str = JSON.parse(data); // it will throw error by saying "SyntaxError: Unexpected end of JSON input"\n            }\n        }); \n
Run Code Online (Sandbox Code Playgroud)\n\n

你是否遇到过这个问题\xef\xbc\x9f\xe3\x80\x80读取整个/完整文件的解决方案是什么?\nPS:我已经手动检查了文件内容,它是好的且完整的JSON字符串。

\n

Rob*_*bin 5

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