在异步函数中等待进程 (ASYNC222)
派生自 flake8-async linter。
作用
检查异步函数是否使用阻塞方法等待进程。
为什么这不好?
通过阻塞调用阻塞异步函数将阻塞整个事件循环,阻止其在等待调用完成时执行其他任务,从而抵消了异步编程的好处。
不要进行阻塞调用,而应使用等效的异步库或函数,例如trio.to_thread.run_sync()
或anyio.to_thread.run_sync()
。
示例
建议改为
派生自 flake8-async linter。
检查异步函数是否使用阻塞方法等待进程。
通过阻塞调用阻塞异步函数将阻塞整个事件循环,阻止其在等待调用完成时执行其他任务,从而抵消了异步编程的好处。
不要进行阻塞调用,而应使用等效的异步库或函数,例如trio.to_thread.run_sync()
或anyio.to_thread.run_sync()
。
建议改为