August 2018
Intermediate to advanced
366 pages
10h 14m
English
The core of our coroutines world is the event loop. It's not possible to run coroutines (or, at least, it gets very complicated) without an event loop, so the first thing our code does is create an event loop:
>>> loop = asyncio.get_event_loop()
Then we ask the event loop to wait until a provided coroutine is completed:
loop.run_until_complete(main())
The main coroutine only starts two countdown coroutines and waits for their completion. That's done by using await and, in that, the asyncio.wait function is in charge of waiting for a bunch of coroutines:
await asyncio.wait([
countdown("A", 2),
countdown("B", 3)
])
await is important here, because we are talking about coroutines, so unless they are explicitly awaited, our code ...