¿Tiene await?
Devolvé True si la línea empieza con "await ".
Entrá y llevá tu progreso —ejercicios, medallas y Pokémon— a cualquier dispositivo. 🔄
Si tu cuenta ya tiene progreso guardado, se carga ese al entrar.
Entraste como . Tu progreso se sincroniza solo. 🔄
Devolvé True si la línea empieza con "await ".
🎯 Meta: usar await para esperar una corrutina sin bloquear todo el programa.
await es la palabra mágica de la asincronía: pone tu corrutina “en pausa” esperando un resultado, pero mientras tanto el programa puede atender otras cosas.
await dentro de async defawait solo se usa adentro de una función async. Espera a que la corrutina termine y te da su resultado:
import asyncio
async def descargar(url):
return f"datos de {url}"
async def principal():
datos = await descargar("/pokedex") # espera y guarda el resultado
print(datos)
asyncio.run(principal()) # arranca el event loop y corre la corrutina
asyncio.run(corrutina) es el punto de entrada: prende el event loop, corre tu corrutina principal y lo apaga.
await?await va delante de lo que espera: una descarga, una consulta a la base, un asyncio.sleep. NO lo pongas en cálculos normales (sumar, recorrer una lista) — eso no espera nada.
async def tarea():
datos = await bajar_pagina(url) # ✅ espera I/O → await
total = sum(datos) # ❌ esto NO espera → sin await
return total
⚠️ Si te olvidás el await, te queda el objeto corrutina sin ejecutar (y Python te avisa: “coroutine was never awaited”). Si lo ponés de más, sobre algo que no es corrutina, también falla.
P: `await` se puede usar…
+ solo dentro de una función `async`
- en cualquier función
- solo en el nivel global del archivo
> `await` va adentro de un `async def`.
P: ¿Delante de qué va `await`?
+ de operaciones que esperan (bajar, leer una API, sleep)
- de cálculos como sumar o recorrer una lista
- de cualquier línea, por las dudas
> Esperás lo que tarda (red/disco); los cálculos normales no llevan await.
⏳ La Líder Nessa te espera para marcar dónde van los awaits.