我开始研究龙卷风,并开始阅读用户指南。然而,我发现有关协同作用的东西非常令人困惑。一方面,文档告诉您装饰师@gen.coroutine
如何使事情变得更简单,但另一方面,它告诉您:
Python3.5引入了异步和等待关键字(使用这些关键字的函数也称为“本机协同”)。从龙卷风4.3开始,你可以用它们来代替基于产量的协同线.只需使用异步def ()来代替@gen.coroutine修饰器中的函数定义,然后等待以代替产生结果。本文档的其余部分仍然使用产率样式与早期版本的Python兼容,但异步和等待在可用时运行得更快:.
所以现在我在想:“好吧,只要一直使用async
和await
就行了。”但是,在所有示例中,文档始终使用修饰器而不是关键字async
。
有一个关于如何调用协同线的部分。对于本机关键字,文档在那里所写的内容仍然正确吗?
这些装饰师给我的是什么,所以我应该使用它们而不是本地Python3.5语法?
(我在我的这个学习项目中使用Python3.5,所以我不关心向后兼容性。)
发布于 2016-11-11 19:45:58
正如文档所述,如果您在Python3.5中使用异步和等待,而不是使用"gen.coroutine“修饰器和”产生“。在Python3.5中,使用修饰器和“产生”没有好处。
本教程使用旧风格是为了与早期版本的Python兼容。
若要在Python3.5中调用coroutine,请使用“等待”而不是“产生”。指南那部分的其他内容都是正确的。
https://stackoverflow.com/questions/40554949
复制相似问题