gpt4 book ai didi

node.js - fs.writeFile 正在写入的文件的访问名称

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:47 24 4
gpt4 key购买 nike

我正在使用 fs.writeFile 将多个文件写入一个目录。我想使用回调中写入的文件的名称(例如打印“文件 x 已写入”)。

如何获取正在写入的文件的名称 (x)?

由于 writeFile 是异步的,因此使用我传递给 writeFile 的文件名变量将不起作用。

谢谢!

最佳答案

所以我认为你正在做这样的事情(只是猜测,因为你没有发布代码):

var files = [ 'file1.txt', 'file2.txt', 'file3.txt' ];
for (var i = 0; i < files.length; i++) {
var filename = files[i];
fs.writeFile(filename, CONTENTS, function(err) {
console.log('File written:', filename);
});
}

这是行不通的,因为每次迭代都会重用并覆盖filename

最简单的解决方案是使用forEach:

files.forEach(function(filename) {
fs.writeFile(filename, CONTENTS, function(err) {
console.log('File written:', filename);
});
});

这将为每次迭代创建一个新作用域的filename变量,该变量不会被覆盖。

关于node.js - fs.writeFile 正在写入的文件的访问名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20309398/

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