La idea clave Cuando comienza una operación, la interfaz debe decir qué está pasando. Aquí mostramos dos estados con botones reales, sin inventar una espera de red: «Cargando…» y «Datos listos».
Ejemplo paso a paso Este ejemplo muestra la idea en acción. Sigue los pasos y después cámbialo tú.
Ejemplo explicado { js }
const salida = document.querySelector('#saludo');
document.querySelector('#accion').addEventListener('click', () => {
salida.textContent = 'Cargando…';
});
document.querySelector('#terminar').addEventListener('click', () => {
salida.textContent = 'Datos listos';
});Editar y probar este mismo ejemplo ↓
Al pulsar Empezar, el texto visible cambia a «Cargando…». Cuando la operación termina, el segundo botón muestra «Datos listos». Los botones simulan los cambios de estado; no se realiza una petición ni se finge un retraso. Un error habitual Estar cargando, terminar sin resultados y fallar son situaciones diferentes. No informes de un error como si fuera una lista vacía.
Practica con código Antes de empezar, piensa: ¿Qué texto aparece tras pulsar Empezar y cuál al pulsar Terminar?
Cambia el mensaje final a «Sin resultados» y prueba ambos botones.
El resultado que buscamos Empezar muestra «Cargando…» y Terminar muestra «Sin resultados».
HTML + CSS + JS Practica aquí
▶ Ejecutar Detener Restaurar Copiar
HTML CSS JavaScript
Código Resultado Consola
Tu misión Cambia el mensaje final a «Sin resultados» y prueba ambos botones.
Editor de código · Ctrl/Cmd + Enter
Vista previa aislada · Sin acceso al sitio principal
Consola Lista para ejecutar.
✓ Comprobar solución Sin comprobar
Escribe tu cambio y pulsa «Comprobar solución». Puedes intentarlo tantas veces como quieras.
Listo
Necesito una pista Busca el texto dentro de la escucha del botón terminar.
Una pista más Cambia solo las palabras entre comillas después del segundo textContent.
Ver solución y explicación salida.textContent = 'Sin resultados'; dentro del segundo listener.
Qué debes recordar: Una interfaz debe decir claramente si está cargando o ha terminado.
Práctica pendiente de corregir ✓ Marcar como leída
La lectura, las prácticas corregidas y las autoevaluaciones guiadas se guardan por separado en este navegador.
Revisado editorialmente · Referencia técnica específica ↗
← Lección anterior Lee JSON mediante fetch desde un recurso de ejemplo Lección siguiente → Comparte una función entre dos archivos con módulos