gpt4 book ai didi

node.js readFile 竞争条件 - 在未完全写入磁盘时读取文件

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:05 25 4
gpt4 key购买 nike

我的node.js应用程序每秒运行一个函数来(递归地)读取.json文件的目录树。这些文件从客户端通过FTP上传到服务器,并放置在 Node 脚本运行的文件夹中。

我发现(至少我认为正在发生的情况)是, Node 在尝试读取 .json 文件之前并没有等待它被完全写入,因此,抛出了“Unexpected end of输入'错误。看起来文件系统需要几秒钟(可能是毫秒)才能正确写入文件。这也可能与从 FTP 写入的文件有关(可能是开销,我完全在这里猜测......)

有没有一种方法可以让我们等待文件完全写入文件系统,然后再尝试使用 Node 读取它?

fs.readFile(file, 'utf8', function(err, data) {
var json = JSON.parse(data); // throws error
});

最佳答案

您可以检查文件是否仍在增长:

https://github.com/felixge/node-growing-file

关于node.js readFile 竞争条件 - 在未完全写入磁盘时读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12849427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com