Commit e4070130 authored by Kyle Stanley's avatar Kyle Stanley Committed by Yury Selivanov

Fix and improve `asyncio.run()` docs (GH-16403)

parent aca8c406
...@@ -247,7 +247,7 @@ Glossary ...@@ -247,7 +247,7 @@ Glossary
Fortran contiguous arrays, the first index varies the fastest. Fortran contiguous arrays, the first index varies the fastest.
coroutine coroutine
Coroutines is a more generalized form of subroutines. Subroutines are Coroutines are a more generalized form of subroutines. Subroutines are
entered at one point and exited at another point. Coroutines can be entered at one point and exited at another point. Coroutines can be
entered, exited, and resumed at many different points. They can be entered, exited, and resumed at many different points. They can be
implemented with the :keyword:`async def` statement. See also implemented with the :keyword:`async def` statement. See also
......
...@@ -212,6 +212,8 @@ Running an asyncio Program ...@@ -212,6 +212,8 @@ Running an asyncio Program
.. function:: run(coro, \*, debug=False) .. function:: run(coro, \*, debug=False)
Execute the :term:`coroutine` *coro* and return the result.
This function runs the passed coroutine, taking care of This function runs the passed coroutine, taking care of
managing the asyncio event loop, *finalizing asynchronous managing the asyncio event loop, *finalizing asynchronous
generators*, and closing the threadpool. generators*, and closing the threadpool.
...@@ -225,10 +227,6 @@ Running an asyncio Program ...@@ -225,10 +227,6 @@ Running an asyncio Program
the end. It should be used as a main entry point for asyncio the end. It should be used as a main entry point for asyncio
programs, and should ideally only be called once. 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:: Example::
async def main(): async def main():
......
...@@ -6,7 +6,7 @@ from . import tasks ...@@ -6,7 +6,7 @@ from . import tasks
def run(main, *, debug=False): def run(main, *, debug=False):
"""Run a coroutine. """Execute the coroutine and return the result.
This function runs the passed coroutine, taking care of This function runs the passed coroutine, taking care of
managing the asyncio event loop and finalizing asynchronous managing the asyncio event loop and finalizing asynchronous
...@@ -21,10 +21,6 @@ def run(main, *, debug=False): ...@@ -21,10 +21,6 @@ def run(main, *, debug=False):
It should be used as a main entry point for asyncio programs, and should It should be used as a main entry point for asyncio programs, and should
ideally only be called once. 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: Example:
async def main(): async def main():
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment