diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2019-09-25 09:13:00 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-25 09:13:00 (GMT) |
commit | d3666945d78508970002653c4d46221a4306f55b (patch) | |
tree | ee263653a5b5ae1ffbfc06464ab6e35ce7cead99 | |
parent | 4042e1afd252858de53e2b79d946a51a0182d1ba (diff) | |
download | cpython-d3666945d78508970002653c4d46221a4306f55b.zip cpython-d3666945d78508970002653c4d46221a4306f55b.tar.gz cpython-d3666945d78508970002653c4d46221a4306f55b.tar.bz2 |
bpo-38260: Add Docs on asyncio.run (GH-16337)
Add docs about return and raise exception on asyncio.run
https://bugs.python.org/issue38260
Automerge-Triggered-By: @asvetlov
(cherry picked from commit 17deb16883fa574a86e42551cc37f044182347ad)
Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
-rw-r--r-- | Doc/library/asyncio-task.rst | 12 | ||||
-rw-r--r-- | Lib/asyncio/runners.py | 4 |
2 files changed, 16 insertions, 0 deletions
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index 29ccafe..a9f6f9c 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -225,6 +225,18 @@ Running an asyncio Program the end. It should be used as a main entry point for asyncio programs, and should ideally only be called once. + Return a result of *coro* execution, or raise a :exc:`RuntimeError` + if ``asyncio.run()`` is called from a running event loop, or a + :exc:`ValueError` if *coro* is not a courutine. + + Example:: + + async def main(): + await asyncio.sleep(1) + print('hello') + + asyncio.run(main()) + .. versionadded:: 3.7 **Important:** this function has been added to asyncio in Python 3.7 on a :term:`provisional basis <provisional api>`. diff --git a/Lib/asyncio/runners.py b/Lib/asyncio/runners.py index 5fbab03..df68638 100644 --- a/Lib/asyncio/runners.py +++ b/Lib/asyncio/runners.py @@ -21,6 +21,10 @@ def run(main, *, debug=False): It should be used as a main entry point for asyncio programs, and should ideally only be called once. + Return a result of *coro* execution, or raise a RuntimeError + if `asyncio.run()`is called from a running event loop, or a ValueError + if `main` is not a courutine. + Example: async def main(): |