Имеем некий асинхронный код, который одновременно отправляет запросы к разным API.
Но почему то, после завершения всех запросов, код после
await asyncio.gather(*tasks)
начинает воспроизводиться не сразу, а примерно через 1-2 сек:
async with aiohttp.ClientSession() as session:
tasks = []
funcs = (cons, bst , hsi, msc, kuin, gte, bibx)
for func in funcs:
call = asyncio.create_task(func(number, session))
tasks.append(call)
await asyncio.gather(*tasks)
#тут проходит 2 сек
print('next stage')
Прошу объяснить, почему так происходит, и каким образом добиться исполнения кода, который находится после
await asyncio.gather(*tasks)