剛剛在看tornado的gen模塊http://www.tornadoweb.org/documentati...classAsyncHandler(RequestHandler):@asynchronousdefget(self):http_client=AsyncHTTPClient()http_client.fetch("http://example.com",callback=self.on_fetch)defon_fetch(self,response):do_something_with_response(response)self.render("template.html")可以用gen模塊優(yōu)化成classGenAsyncHandler(RequestHandler):@asynchronous@gen.enginedefget(self):http_client=AsyncHTTPClient()response=yieldgen.Task(http_client.fetch,"http://example.com")do_something_with_response(response)self.render("template.html")ok,現(xiàn)在書抄完了,開始提問我使用tornado.httpclient.HTTPClienthttp_client=httpclient.HTTPClient()try:response=http_client.fetch("http://www.google.com/")printresponse.bodyexcepthttpclient.HTTPError,e:print"Error:",e也可以實(shí)現(xiàn)同步的代碼風(fēng)格,實(shí)際上應(yīng)該也是異步執(zhí)行,因?yàn)橛玫搅薎OLoop我的問題是1.tornado.httpclient.HTTPClient用在生產(chǎn)環(huán)境有問題嘛?2.兩種寫法達(dá)到的效果是不是一樣的,如果不一樣,有什么區(qū)別?
tornado HTTPClient 和 gen 模塊的實(shí)際區(qū)別
千萬里不及你
2019-04-06 08:31:40