La fonction intégrée Python aiter()
Tiré de la documentation Python 3
Retourne un itérateur asynchrone pour un objet itérable asynchrone. Équivalent à appeler x.__aiter__(). aiter() est l'équivalent asynchrone de iter()
Introduction
La fonction aiter() retourne un itérateur asynchrone à partir d’un objet itérable asynchrone. C’est l’équivalent asynchrone de la fonction iter().
Vous utiliserez généralement aiter() implicitement lorsque vous utilisez une boucle async for, mais vous pouvez l’appeler directement si vous avez besoin de travailler manuellement avec l’itérateur, souvent en conjonction avec anext().
Exemple
Voici un exemple d’itérable asynchrone. La boucle async for appelle automatiquement aiter() sur l’objet AsyncCounter pour obtenir un itérateur.
import asyncio
class AsyncCounter:
def __init__(self, stop):
self.stop = stop
self.current = 0
def __aiter__(self):
return self
async def __anext__(self):
if self.current < self.stop:
await asyncio.sleep(0.1)
value = self.current
self.current += 1
return value
else:
raise StopAsyncIteration
async def main():
async for number in AsyncCounter(3):
print(number)
# Pour exécuter ceci dans un environnement réel :
# asyncio.run(main())
0
1
2