跳到内容

unused-async (RUF029)

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查声明为 async 但没有 await 或以其他方式使用需要函数声明为 async 的功能的函数。

为什么这不好?

当函数不是异步时将其声明为 async 通常是一个错误,并且会人为地限制可以调用该函数的上下文。在某些情况下,将函数标记为 async 在语义上是有意义的(例如,使用 trio 库)。

示例

async def foo():
    bar()

建议改为

def foo():
    bar()