From d5adb63673de2dea890615f75cf1a1305c3bdea1 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Wed, 1 Feb 2017 22:37:16 +0300 Subject: [PATCH] Issue #29407: Remove redundant ensure_future() calls in factorial example --- Doc/library/asyncio-task.rst | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index 9bff1c4140b..90cb9c364ff 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -472,21 +472,20 @@ Example executing 3 tasks (A, B, C) in parallel:: import asyncio - @asyncio.coroutine - def factorial(name, number): + async def factorial(name, number): f = 1 for i in range(2, number+1): print("Task %s: Compute factorial(%s)..." % (name, i)) - yield from asyncio.sleep(1) + await asyncio.sleep(1) f *= i print("Task %s: factorial(%s) = %s" % (name, number, f)) loop = asyncio.get_event_loop() - tasks = [ - asyncio.ensure_future(factorial("A", 2)), - asyncio.ensure_future(factorial("B", 3)), - asyncio.ensure_future(factorial("C", 4))] - loop.run_until_complete(asyncio.gather(*tasks)) + loop.run_until_complete(asyncio.gather( + factorial("A", 2), + factorial("B", 3), + factorial("C", 4), + )) loop.close() Output::