gpt4 book ai didi

node.js - 在 Node.js 中处理之前等待文件完成写入磁盘

转载 作者:搜寻专家 更新时间:2023-10-31 23:21:39 25 4
gpt4 key购买 nike

我有一个 Node 函数,用于检查文件是否存在,如果存在,该函数会做一些进一步的处理。我的问题是 Node 正在检查我的文件是否存在,但它没有等待文件完成写入。如何查看文件是否退出并等待文件也完成写入,然后再执行我的函数的其余部分?

var doStuff = function(filename, callback) {


// writing to file here

fs.exists(filename, function(exists) {
if (exists) {
// do stuff
callback()
}
});

});

我看到 fs.exists 有一个同步版本。我应该用那个吗?或者我应该添加一个 setTimeout 调用以在文件上执行之前等待一小段时间?哪种选择最好?

最佳答案

只需将其放入您的 fs.writeFile 回调中即可。不过一定要检查错误,这样可以省去调用 fs.exists 的麻烦:

fs.writeFile(filename, "stuff to write", function (err) {

if (err) {
// something went wrong, file probably not written.
return callback(err);
}

fs.exists(filename, function(exists) {
if (exists) {
// do stuff
callback()
}
});

});

关于node.js - 在 Node.js 中处理之前等待文件完成写入磁盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25416101/

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