Есть ли в python3 .7 + какой-либо по умолчанию асинхронный диспетчер нулевого контекста? - PullRequest
1 голос
/ 28 апреля 2020

Я хотел бы создать необязательный асинхронный семафор.
В случае asyncio.Semaphore не поддерживает значения None, я решил создать asyncio.Semaphore, если указан предел соединений, иначе - какой-то фиктивный объект
Существует contextlib.nullcontext, но он поддерживает только синхронную with
Я создал свою собственную пустышку:

@contextlib.asynccontextmanager
async def asyncnullcontext():
    yield None

Есть ли там какой-либо по умолчанию асинхронный нулевой контекстный менеджер?

1 Ответ

1 голос
/ 28 апреля 2020

Есть ли там какой-нибудь по умолчанию асинхронный нулевой контекстный менеджер?

Можно использовать contextlib.AsyncExitStack().

ExitStack() аналогично создать быстрый и грязный нулевой контекстный менеджер до введения nullcontext.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...