在此处的文档中https://docs.python.org/3/library/asyncio-task.html,我发现许多yield from
可以替换为await
。
我想知道它们在Python 3.5中是否一直是等效的。有没有人有这方面的想法?
答案 0 :(得分:14)
不,他们不等同。 await
函数中的async
和生成器中的yield from
非常相似,并且共享大部分实现,但根据您的Python版本,尝试使用yield
或{{在yield from
函数中1}}将导致直接async
或使您的函数成为asynchronous generator function。
当asyncio文档说“SyntaxError
或await
”时,它们表示yield from
函数应使用async
,而基于生成器的协程应使用await