gpt4 book ai didi

node.js - 异步移动 Node 中的文件数组

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

我有一个包含一些图像的文件夹。我想将一些图像从该文件夹移动到其他文件夹。该其他文件夹不能存在。我知道fs.rename 。但我无法想象如何向其发送数组并且不丢失异步。我所能做的就是:

let imagesArray = ['path1', 'path2' ... 'pathN']
for(img of imagesArray){
fs.renameSync(oldPath+img, newPath+img)
}

我必须如何使它以及如何使其异步?

最佳答案

要使用 Promise,您需要使用 fs.rename() 返回 Promise 而不是回调。您可以使用 util 模块来实现此目的(不需要使用 npm 安装它)

const util = require('util');
const fs = require('fs');

const rename = util.promisify(fs.rename);

现在您可以使用 Promise.all + Array.map 使用异步循环遍历数组

(async () => {
await Promise.all(imagesArray.map(oldname => rename(oldname, oldname+newname));

//Do the stuff you need to do after renaming the files
})

关于node.js - 异步移动 Node 中的文件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48085678/

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