fs.unlink删除文件但是也没有抛出这样的文件或目录错误

时间:2018-02-17 11:15:36

标签: javascript node.js fs async.js

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

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

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)

0 个答案:

没有答案