如何await在构造函数或类主体中定义类?
例如我想要的:
import asyncio
# some code
class Foo(object):
    async def __init__(self, settings):
        self.settings = settings
        self.pool = await create_pool(dsn)
foo = Foo(settings)
# it raises:
# TypeError: __init__() should return None, not 'coroutine'
或具有类body属性的示例:
class Foo(object):
    self.pool = await create_pool(dsn)  # Sure it raises syntax Error
    def __init__(self, settings):
        self.settings = settings
foo = Foo(settings)
我的解决方案(但我希望看到更优雅的方式)
class Foo(object):
    def __init__(self, settings):
        self.settings = settings
    async def init(self):
        self.pool = await create_pool(dsn)
foo = Foo(settings)
await foo.init()
    
__new__,尽管可能并不那么优雅