报告在布尔上下文(if/while/三元运算符)中使用协程而未等待的情况。
直接在布尔条件中使用协程对象将始终评估为 True, 这可能不是预期的行为。 必须等待协程,才能获取其实际的布尔值。
示例:
async def check() -> bool:
return True
async def main():
if check(): # 始终为 True - 协程对象具有真值
print("hi")
应为:
async def check() -> bool:
return True
async def main():
if await check(): # 正确等待协程
print("hi")