首页 > 解决方案 > 为什么不推荐使用 node fs Promises API?

问题描述

我的应用程序的一部分涉及定期删除一个大文件夹以及与数据库中该文件夹中的文件相关的一些行。
为此,我正在考虑使用以下代码:

const { rmdir } = require('fs/promises');

... begin transaction
... remove database rows
await rmdir(dir, { recursive: true });
... end transaction

我想使用 Promises API 而不是 rmdirSync(它会停止整个服务器)的原因是我希望服务器在操作系统忙于删除文件夹时继续接受请求。我知道我可以只使用回调 api 并在删除文件夹之前结束事务,但这可能会导致不一致并且也不会捕获任何潜在的错误。(当数据库行已经消失时,文件可能仍由 express.static 提供)

但我在这个文档中读到: https : //nodejs.org/api/fs.html#fs_callback_example 不建议使用 Promise API 来支持回调 API。

所以这是我的问题:

标签: node.jsfs

解决方案


推荐阅读