14 votes

await vs asyncio.run() en Python

En Python, quelle est la différence réelle entre await dans une coroutine et en utilisant asyncio.run() ? Ils semblent tous deux exécuter une coroutine, la seule différence que je peux voir étant que await ne peut être utilisé que dans une coroutine.

15voto

mousetail Points 194

C'est la différence exacte. Il devrait y avoir exactement un appel à asyncio.run() dans votre code, qui bloquera jusqu'à ce que toutes les coroutines soient terminées.

À l'intérieur d'une coroutine, vous pouvez utiliser await pour suspendre la fonction en cours, et asyncio reprendra la fonction à une date ultérieure. Tout cela se passe à l'intérieur de l'élément asyncio.run() qui planifie quelles fonctions peuvent être exécutées et à quel moment.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X