Rullst AcademyRullst Academy/Lección
JavaScript e interacción · Lección 11 / 14

Promesas y tiempo de espera

Una respuesta puede llegar cuando la persona ya eligió otra acción.

Rutas de aprendizaje16 min

Vamos a descubrir juntos

  1. 1

    Una Promise representa un resultado futuro: pendiente, cumplida con un valor o rechazada. Async hace que una función devuelva una Promise. Await suspende esa función, no congela toda la página.

  2. 2

    El código síncrono termina antes de callbacks de promesas listas. console.log("A"); Promise.resolve().then(() => console.log("B")); console.log("C"); produce A, C, B aquí. No define la duración de una red real.

  3. 3

    Usa try { await operation(); } catch(error) { ... } para tratar un rechazo. Await no vuelve válida la respuesta. Devuelve o espera la promesa iniciada para no perder resultado o error.

  4. 4

    El taller ofrece demora simulada y cancelación. AbortController señala cancelación a operaciones compatibles; no deshace trabajo terminado. Una versión de solicitud evita que respuestas antiguas cambien la elección más reciente.

Del ejemplo a tu propia interacción

Descarga el kit, extráelo y abre index.html en el navegador. Edita lesson.js, guarda y recarga. No necesitas Node ni paquetes. README explica HTTP local cuando sea necesario.

La demostración usa JavaScript preparado. No ejecuta código del editor. Descarga tu cambio aparte para probar en el kit local.

Mis archivos y GitHub
Probar el proyecto que construiremos

Planificador de pequeñas misiones

Crea, completa y revisa un plan de estudio con datos ficticios. Las misiones quedan solo en memoria y desaparecen al recargar.

Usa un título corto sin datos personales y minutos enteros de 1 a 120. Hasta 20 misiones.

Misiones del plan
0
Minutos de todas las misiones
0
Misiones terminadas
0

No hay misiones en este filtro. Añade una o elige otro filtro.

    Laboratorio de sugerencias

    Por defecto los escenarios se simulan en este navegador. No se envían peticiones de sugerencias ni se sustituye tu plan.

    Disponible al abrir el kit por http://127.0.0.1:8768. Consulta README; no necesitas cuenta externa.

      Este JSON contiene solo misiones, no código. La demostración no importa archivos ni sincroniza dispositivos. Descarga el JavaScript editado desde el espacio de archivos.

      Enlaces oficiales y siguiente paso

      ✦
      TU MISIÓN

      Usar Promise, async/await y errores sin confundir esperar con bloquear la pantalla.

      Ahora te toca

      Taller de descubrimientos

      Pensar antes de ejecutar

      Imprime A; programa Promise.resolve().then para imprimir B; imprime C.
      Prepara tus respuestas y comprueba cuando estés listo.
      Una pausa para entender

      ¿Cancelar una solicitud deshace cualquier efecto anterior?

      Necesito una pista

      Predice el resultado, ejecuta tu archivo y explica la diferencia.

      Cargando tu camino…

      Llévatelo contigo

      Inicia una respuesta lenta y cancela. Luego inicia lenta y cambia a lista vacía. Anota qué debe permanecer y espera la respuesta antigua para comprobar.

      A tu ritmo

      Mis archivos y GitHub

      Cada lección puede convertirse en un registro propio: código, notas o un plan de práctica. Guardar un archivo en GitHub es opcional y no cambia tus XP.

      Manual del alumno

      El editor y las descargas se abren cuando esta lección esté disponible para tu cuenta. Revisa el acceso indicado abajo o vuelve al mapa de la ruta.

      Comprobando tu acceso a esta lección…

      Rullstpetbot

      La IA puede equivocarse. Consulta el material de la lección.