from tornado.httpclient import AsyncHTTPClient
def asynchronous_fetch(url, callback):
http_client = AsyncHTTPClient()
def handle_response(response):
callback(response.body)
http_client.fetch(url, callback=handle_response)
asynchronous_fetch("http://127.0.0.1:8000")
异步里面有这么一个例子。其中callback是一个参数,应该是一个外部函数调用,可是里面又设定callback=handle_response,这里callback是什么作用?
fetch -> handle_response -> callback
fetch的callback也就是handle_response处理的是response
而asynchronous_fetch的callback处理的是response的body
加这一层估计是为了做些额外的处理吧。