跳到内容

async-busy-wait (ASYNC110)

派生自 flake8-async linter。

作用

检查在 while 循环中使用异步睡眠函数的情况。

为什么这不好?

与其在 while 循环中休眠并等待条件变为真,不如 await 一个 Event 对象,例如:asyncio.Eventtrio.Eventanyio.Event

示例

import asyncio

DONE = False


async def func():
    while not DONE:
        await asyncio.sleep(1)

建议改为

import asyncio

DONE = asyncio.Event()


async def func():
    await DONE.wait()

参考