Javascript Node.js:fs.unlink&;fs.unlinkSycn

Javascript Node.js:fs.unlink&;fs.unlinkSycn,javascript,node.js,Javascript,Node.js,我想删除一个文件,并等待删除成功后再继续执行 我可以使用下面的任何一种吗 a) wait fs.unlink(路径,回调) b) fs.unlinkSync(路径) 以上哪一项是正确的方法 谢谢。您可以使用等待fs.promises.unlink(路径)或fs.unlinkSync(路径) await fs.unlink(path,callback)不是正确的选项,因为await不会做任何有用的事情,因为fs.unlink()不会返回承诺 await fs.promises.unlink(pat

我想删除一个文件,并等待删除成功后再继续执行

我可以使用下面的任何一种吗

a)
wait fs.unlink(路径,回调)

b)
fs.unlinkSync(路径)

以上哪一项是正确的方法


谢谢。

您可以使用
等待fs.promises.unlink(路径)
fs.unlinkSync(路径)

await fs.unlink(path,callback)
不是正确的选项,因为
await
不会做任何有用的事情,因为
fs.unlink()
不会返回承诺

await fs.promises.unlink(path)
选项是异步的,不会阻止进程(允许它处理其他事件),但是
await
将暂停本地函数执行,直到它完成,允许您在该函数中正确地排序操作

fs.unlinkSync(path)
选项是阻塞和同步的,不应在服务器环境中使用(因为它破坏了服务器的可伸缩性),但可以在单用户脚本或服务器启动或关闭代码中使用


对于在两者之间选择的任何进一步建议,我们需要了解您在其中使用它们的上下文(这是服务器吗?),并查看它们周围的相关代码。根据代码的具体情况,每种方法都有正确和错误的地方。

您可以使用
wait fs.promises.unlink(path)
fs.unlinkSync(path)

await fs.unlink(path,callback)
不是正确的选项,因为
await
不会做任何有用的事情,因为
fs.unlink()
不会返回承诺

await fs.promises.unlink(path)
选项是异步的,不会阻止进程(允许它处理其他事件),但是
await
将暂停本地函数执行,直到它完成,允许您在该函数中正确地排序操作

fs.unlinkSync(path)
选项是阻塞和同步的,不应在服务器环境中使用(因为它破坏了服务器的可伸缩性),但可以在单用户脚本或服务器启动或关闭代码中使用


对于在两者之间选择的任何进一步建议,我们需要了解您在其中使用它们的上下文(这是服务器吗?),并查看它们周围的相关代码。根据代码的具体情况,每种方法都有正确和错误的地方。

I如果您不想在删除时执行任何操作,
unlinkSync
就是方法。如果您不想在删除时执行任何操作,
unlinkSync
就是方法。感谢@jfriend00的详细解释。我正在生成一个屏幕截图,上传到s3,进行更多的处理,并向服务器发送响应。我想在上传到s3后删除屏幕截图。
等待fs.promises.unlink(路径)
在这种情况下是否可以case@opensource-开发人员-是的,如果实施得当,可以很好地工作。当然,您必须确保上传已完成(使用适当的回调或承诺通知)。如果您显示整个函数的代码,我们可以更准确地给出建议,并提出任何其他相关建议。感谢@jfriend00的详细解释。我正在生成一个屏幕截图,上传到s3,进行更多的处理,并向服务器发送响应。我想在上传到s3后删除屏幕截图。
等待fs.promises.unlink(路径)
在这种情况下是否可以case@opensource-开发人员-是的,如果实施得当,可以很好地工作。当然,您必须确保上传已完成(使用适当的回调或承诺通知)。如果您显示整个功能的代码,我们可以更准确地提供建议,并提出任何其他相关建议。