我希望删除一个文件,并等待删除成功,然后再继续执行。
我可以使用下面的任一选项吗?
a) await fs.unlink(path, callback);
b) fs.unlinkSync(path)
以上哪一项是正确的方法?
谢谢。
发布于 2021-05-05 17:15:43
您可以使用await fs.promises.unlink(path)或fs.unlinkSync(path)。
await fs.unlink(path, callback)不是一个正确的选项,因为await不会做任何有用的事情,因为fs.unlink()不返回promise。
await fs.promises.unlink(path)选项是异步的,不会阻塞您的进程(允许它处理其他事件),但是await将挂起本地函数的执行,直到它完成,允许您在该函数中正确地对操作进行排序。
fs.unlinkSync(path)选项是阻塞的和同步的,不应该在服务器环境中使用(因为它破坏了服务器的可伸缩性),但可以在单用户脚本或服务器启动或关闭代码中使用。
对于在两者之间进行选择的任何进一步建议,我们需要了解您在其中使用它们的上下文(这是一个服务器吗?)并查看它们周围的相关代码。根据代码的情况,每种方法都有一个正确和错误的位置。
https://stackoverflow.com/questions/67398243
复制相似问题