我尝试在ss桶中上传它们之后使用fs.unlink删除一些本地文件,它会删除文件,但也不会抛出这样的文件或目录错误 .

我在async queuedrain callback 中运行此命令,基于异步文档,当队列中的最后一项返回时调用drain,但在我的情况下它似乎运行了两次,因为当我运行时我可以看到我的控制台日志 console.log('Completed upload in', delta, 'seconds') 两次,一旦它在0.001秒内完成,第二次在所有文件上传到s3存储桶后花费将近250秒,而在这里我也得到错误,我的unlink说没有这样的文件或目录错误 . :

const q = async.queue((task, callback) => {
    s3.upload(params, options, callback)
}

q.drain = function () { // It seems this method run twice!
    var delta = (new Date() - startTime) / 1000
    console.log('Completed upload in', delta, 'seconds')
    fs.unlink(`./${task.src}`, (err) => {
      if (err) console.log("ERROR", err)
          console.log(`successfully deleted ${task.src}`)
    })
    return true
}
q.push(fileNamesReformat)