【发布时间】:2021-04-12 18:44:22
【问题描述】:
class Foo:
async def foo(self, a):
return a
async def bar(b):
return b
asyncio.iscoroutinefunction(functools.partial(bar, 1)) # returns True, OK
asyncio.iscoroutinefunction(functools.partial(Foo().foo, 1)) # returns False, WHY???
我需要找到一种方法将类中的协程包装成部分,以便结果也是一个协程。我该怎么做?
【问题讨论】:
-
请注意,您的“类协程”没有
classmethod装饰器,因此它是一个应该接受self的普通方法。你的实际用例是什么? -
我想将这样的类协程传递给 aiohttp 服务器,但得到以下结果:aiohttp/aiohttp/worker.py",第 72 行,在 _run raise RuntimeError( RuntimeError: wsgi app 应该是 Application或异步函数返回 Application,得到 functools.partial(
>, )
标签: python python-3.x python-asyncio