我们什么时候应该添加这个装饰器?添加这个装饰器有什么好处?龙卷风之间的区别是什么?
如果有人能给我一些细节,我将非常感激
答案 0 :(得分:1)
@asynchronous
是致电self.finish()
的承诺,而不是让请求自动完成。这允许您通过回调使用异步操作。
@gen.coroutine
(和@gen.engine
,大部分已过时)赋予yield
关键字特殊含义,允许您通过期货和任务使用异步操作。
使用@gen.coroutine
关键字时使用yield
,使用回调时使用@asynchronous
。在Tornado 3.0中,有时需要同时使用它们(并先放置@asynchronous
),但是由于Tornado 3.1没有理由这样做,你应该只使用其中一个。