Promesas Paralelas vs Secuenciales
Dificultad: Difícil JavaScript advanced coding
const delay = () => new Promise(r => setTimeout(r, 1000));
const f = async () => {
const [a, b] = [delay(), delay()].map(async p => {
await p;
return Date.now();
});
return (await b) - (await a);
};
f().then(console.log); 📥 Inputs:
N/A
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
¡Sorpresa! Aunque usamos map con async/await, las promesas delay() se crean ANTES del map, ejecutándose en paralelo. Los timestamps de a y b son casi idénticos porque ambos delays empezaron al mismo tiempo. Muchos esperan ~1000ms pensando que son secuenciales, pero el truco está en que map() no espera - solo envuelve promesas ya iniciadas.
¿Cuál es el resultado? ⏱️