Во время выполнения асинхронного запроса mongodb, подобного приведенному в следующем классе, как этот вызов действительно не блокируется, если у меня все еще есть доступ к аргументу типа self.get_argument ("ip_address") внутри функции обратного вызова?Или я не должен получить доступ к аргументу, как этот, чтобы сохранить асинхронный вызов?
class MainHandler(tornado.web.RequestHandler):
def get(self):
app_key = self.get_argument("app_key")
#async call to mongodb. call _valid_app afterwards
db.apps.find_one({'app_key': app_key}, callback=self._valid_app);
def _valid_app(self, response, error):
if error:
raise tornado.web.HTTPError(500)
if response:
ip_address = self.get_argument("ip_address")
#rest of the code
else:
print("invalid app_key")