我的node.js应用程序每秒运行一个函数(递归地)读取.json文件的目录树。这些文件通过FTP从客户端上传到服务器,并放在运行节点脚本的文件夹中。
我发现(至少我认为发生了什么),是节点在尝试读取之前没有等待.json文件完全写入,因此,抛出了一个'意外结束输入'错误。似乎文件系统需要几秒钟(可能是毫秒)才能正确写入文件。这也可能与从FTP写入的文件有关(可能是开销,我在这里猜测......)
在尝试使用节点读取文件之前,有没有办法可以等待文件完全写入filesytem?
fs.readFile(file, 'utf8', function(err, data) {
var json = JSON.parse(data); // throws error
});