我正在使用Python3异步框架评估不同的周期性执行模式(实际睡眠/延迟是为了简洁而忽略的),我有两段代码的行为不同,我无法解释原因。第一个版本使用yield from来递归地在1000次迭代中耗尽堆栈,正如我所预期的那样。第二个版本递归地调用coroutine,但是将实际的事件循环执行委托给asyncio.async,并且没有耗尽堆栈。您能详细解释为什么第二个版本没有使用堆栈吗?执行这种协同机制的两种方法有什么不同?asyncio.coroutine
def call_self(self, i