0
目前我所有的功能都裝飾着@tornado.gen.coroutine
,然後我屈服。我想搬到新的async/await
。龍捲風asyncio問題
要移動到異步這是否意味着我需要開始與ASYNCIO IOLoop龍捲風如圖文件:
from tornado.platform.asyncio import AsyncIOMainLoop
import asyncio
AsyncIOMainLoop().install()
asyncio.get_event_loop().run_forever()
我改變了一些協程使用async/await
而不是yield
這似乎工作在舊的Tornado IOLoop上,爲什麼如果我沒有使用asyncio明確啓動Tornado引擎?
在我目前的代碼,我有一個地方,我產生協同程序的列表:
responses=yield [wrap(httpClient,url) for url in somelist]
這怎麼可能符合的await可以實現嗎?
嗨,傑西,但爲什麼然後有asyncio循環?如記錄:http://www.tornadoweb.org/en/stable/asyncio.html?highlight=asyncio它看起來像你可以顯式啓動一個AsyncIOMainLoop。爲什麼這是一個選項,那麼如果你可以使用異步並等待正常的IOLoop開箱即用? –
這不是關於「異步」和「等待」。這是關於使用爲asyncio事件循環編寫的其他庫,這些庫取決於其特定的API,並將這些特定於asyncio的庫與Tornado特定的庫或Tornado特定的代碼集成在一起。 –