def __init__(cls, name, bases, methods):
coros = {}
for base in reversed(cls.__mro__):
coros.update((name, val) for name, val in vars(base).items()
if inspect.iscoroutinefunction(val))
for name, val in vars(cls).items():
if name in coros and not inspect.iscoroutinefunction(val):
raise TypeError('Must use async def %s%s' % (name, inspect.signature(val)))
super().__init__(name, bases, methods)
评论列表
文章目录