Función incorporada Python aiter()
De la documentación de Python 3
Devuelve un iterador asíncrono para un objeto iterable asíncrono. Equivalente a llamar a x.__aiter__(). aiter() es el equivalente asíncrono de iter()
Introducción
La función aiter() devuelve un iterador asíncrono a partir de un objeto iterable asíncrono. Es el equivalente asíncrono de la función iter().
Normalmente utilizarás aiter() implícitamente cuando uses un bucle async for, pero puedes llamarla directamente si necesitas trabajar con el iterador manualmente, a menudo junto con anext().
Ejemplo
Aquí tienes un ejemplo de un iterable asíncrono. El bucle async for llama automáticamente a aiter() en el objeto AsyncCounter para obtener un iterador.
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)
# Para ejecutar esto en un entorno real:
# asyncio.run(main())
0
1
2