hi, Im a beginner in asyncio. I was trying out some small scripts to bet 
the basic idea of asyncio. The below script is meant to print "hello" after 
some time period "after" is expired. But i have a strange output when i 
dont use asyncio.wait() inside run_until_complete(). 


*code 1 :*

    async def say_hello(after):
    await asyncio.sleep(after)
    print('hello  {0}'.format(after),end='--\n')


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    a = count()
    coros = []
    tasks = []
    for i in range(10):
        #coros.append(say_hello(i))
        tasks.append(asyncio.ensure_future(say_hello(i)))
    tasks = asyncio.wait(tasks)
    loop.run_until_complete(tasks)



*output*hello  0--
hello  1--
hello  2--
hello  3--
hello  4--
hello  5--
hello  6--
hello  7--
hello  8--
hello  9--




*this works as intended.code 2: *    async def say_hello(after):
    await asyncio.sleep(after)
    print('hello  {0}'.format(after),end='--\n')


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    a = count()
    coros = []
    tasks = []
    for i in range(10):
        #coros.append(say_hello(i))
        tasks.append(asyncio.ensure_future(say_hello(i)))
    #tasks = asyncio.wait(tasks)
    loop.run_until_complete(tasks[6])






*output*

Reply via email to