首页 > 解决方案 > 检查是否使用await调用了js函数?

问题描述

我有一个checkPermission功能,我可以在其中拉会话,访问数据库并确认权限。如果不允许该操作,则该函数抛出。

await checkPermission("USER_READ"); // This will throw if not permitted.
// Do permission specific stuff.

问题是如果我忘记等待,它不会等待并移动到未经许可的代码。如果使用了函数,我可以以编程方式检查checkPermission函数,如果await不使用,我可以抛出await吗?或者是否有任何其他方法可以强制执行await给定函数并在不使用时抛出。

注意:我知道我可以把它放在 if 中并检查它是否返回Promise。但这不是我要问的。

标签: javascriptasync-await

解决方案


您可以使用 eslint 轻松完成此操作,并将其添加为 CI 管道的一部分

禁止没有等待表达式的异步函数 (require-await)

   eslint require-await: "error"

https://eslint.org/docs/rules/require-await


推荐阅读