我在努力理解Python中的async/await。
我的理解是否正确?
我的理解是否正确?
async
和@coroutine
函数返回协程/生成器,而不是返回值。await
提取协程/生成器的实际返回值。async
函数的结果(协程)旨在添加到事件循环中。await
创建了事件循环和等待协程之间的“桥梁”(使下一点成为可能)。@coroutine
的yield
直接与事件循环通信(跳过直接调用者以等待结果)。await
只能在异步函数内部使用。yield
只能在@coroutine
内使用。
@coroutine
=@types.coroutine
)
inner_coro
执行yield
操作时,控制流程会直接跳转到事件循环(Event Loop),而不会返回给最初的调用者outer_async
。鉴于这个例子,你是否同意yield
是协程与事件循环直接通信的方式? - industryworker3595112