aiohttp隐含地证明我的方法是有效的

时间:2017-12-05 11:43:48

标签: python asynchronous python-asyncio aiohttp

我的aiohttp中间件获取函数作为参数而不是已传递给路由的绑定方法。如何解释这种行为?如何避免?

JSONObject aJsonObject = new JSONObject(aJsonResponse);

String aId = aJsonObject.getString("id");
String aNome = aJsonObject.getString("name");

1 个答案:

答案 0 :(得分:2)

如果处理程序是按类组织的并且已经传递给路由, aiohttp 使用 partial.wraps 将这些处理程序与装饰器包装在一起,并使其像通常的函数一样。因此不可能直接将此函数用作对象方法。

它们只能在展开后用作方法:

handler.__wrapped__.__self__

或handlers类可以作为web.Application()值传递,因为它具有MutableMapping协议:

with RequestHandler(self.conf_path) as handler:
        self.app["handler"] = handler

可能会被称为:

class_handler = request.app["handler"]