JavaScript
Test de JavaScript: asincronía y errores
Resuelve 50 casos sobre promesas, async/await, Fetch, temporizadores, cola de tareas y gestión de errores en JavaScript.
Cada intento mezcla preguntas y respuestas para evitar patrones memorizables.
Cargando preguntas…
Qué vas a practicar
Este banco trabaja asincronía y errores mediante flujos de ejecución: estados de promesas, encadenamiento, async/await, combinadores, Fetch, temporizadores, microtareas, excepciones y limpieza. Las preguntas exigen anticipar el resultado y elegir una estrategia de control adecuada.
- Conceptos clave: Estados de Promise y métodos de combinación.
- Diferencias importantes: Funciones async, await, secuencialidad y concurrencia.
- Detalles que conviene dominar: fetch, Response, JSON y AbortController.
- Aplicación en el test: try...catch, tipos de error, microtareas y temporizadores.
Preguntas de ejemplo
Estos ejemplos reflejan el tipo de precisión que exige el test: leer el enunciado completo, elegir una opción y comprobar por qué encaja con JavaScript: asincronía y errores.
1En JavaScript asíncrono, identifica qué representa una instancia de Promise.
Respuesta: La finalización o el fallo futuro de una operación
Explicación: Una promesa representa un resultado que puede estar disponible más adelante o una razón de fallo. Una promesa solo puede asentarse una vez; sus manejadores reciben el valor o la razón mediante una cadena posterior de microtareas.
2Evalúa el resultado de ejecutar Promise.resolve(5).
Respuesta: Crea una promesa cumplida con 5
Explicación: Promise.resolve devuelve una promesa cumplida con el valor indicado, salvo que adopte el estado de un thenable. El método construye o combina promesas sin convertir la operación subyacente en síncrona.
3En una cadena de promesas, determina qué argumento recibe normalmente el callback registrado con finally.
Respuesta: Ninguno
Explicación: finally no recibe el valor ni la razón; se usa para tareas de limpieza comunes a ambos resultados. Devolver el valor o la promesa mantiene la cadena; omitir return puede desacoplar una operación y ocultar su finalización al llamador.
4Tras recibir un Response, determina qué devuelve una llamada a response.json().
Respuesta: Una Promise que se cumple con el cuerpo analizado
Explicación: La lectura y conversión del cuerpo es asíncrona, por lo que json devuelve una promesa. Fetch rechaza principalmente por fallos de red o cancelación; los estados HTTP deben comprobarse en el objeto Response.
5¿Cuándo se ejecuta un bloque finally de try...catch...finally?
Respuesta: Tanto si hay error como si no, salvo interrupciones externas del entorno
Explicación: finally se usa para limpieza porque se ejecuta tras try y catch en ambos caminos normales. El bloque o manejador solo intercepta errores que se propagan por su propio flujo de ejecución; las tareas posteriores necesitan gestión propia.
6Una función devuelve la cadena return fetch(...).then(...). Identifica la ventaja de devolver explícitamente esa promesa.
Respuesta: Permite que quien llama espere y gestione la cadena
Explicación: Devolver la promesa expone la finalización y los errores a la función llamadora para que pueda componerlos. Devolver el valor o la promesa mantiene la cadena; omitir return puede desacoplar una operación y ocultar su finalización al llamador.
Cómo usarlo
Sigue el orden de ejecución y separa código síncrono, microtareas y tareas. Comprueba cómo se propagan los valores y rechazos, qué errores captura cada bloque y qué recurso debe cancelarse o limpiarse; después compara tu razonamiento con la explicación.
Fuente y revisión
Las preguntas se han contrastado con ECMAScript 2026, el Fetch Living Standard, el modelo de bucle de eventos del HTML Living Standard y documentación técnica de referencia sobre promesas y errores. Revisión técnica: 5 de agosto de 2026.