Protocolo 18: El mensajero asincrónico
Medio
callbacks
async
setTimeout
📖Historia
📡 Transmisión de Zeew_18 iniciada…
Los mensajes entre nodos no llegan instantáneamente. Cada transmisión tiene un retraso de propagación. El Mensajero Asincrónico debe simular estos retrasos usando callbacks.
"La paciencia es parte del protocolo."
Debes crear una función que simule el envío de mensajes con retrasos temporales.
🎯Enunciado
🎯 Objetivo
Crea una función sendMessage(message, delay, callback) que:
- Espere
delaymilisegundos - Ejecute el
callbackpasándole el mensaje transformado a mayúsculas - Retorne
"Mensaje enviado"inmediatamente (antes del callback)
📋 Especificaciones
- Usa
setTimeoutpara simular el retraso - El callback recibe:
message.toUpperCase() - Si
messageno es string, el callback recibe"Error: mensaje inválido" - La función retorna
"Mensaje enviado"de forma síncrona
💡 Ejemplos
sendMessage("hola", 1000, (msg) => console.log(msg));
// Retorna inmediatamente: "Mensaje enviado"
// Después de 1000ms, el callback recibe: "HOLA"
sendMessage("zeew", 500, (msg) => console.log(msg));
// Retorna: "Mensaje enviado"
// Después de 500ms, el callback recibe: "ZEEW"
⚠️ NOTA: Este reto requiere callback real, no se puede probar completamente en el sistema actual.
✅Casos de prueba
Tu solución será validada contra 3 casos de prueba
Test 1: Retorna inmediatamente
Test 2: Envía mensaje
Test 3: Con delay corto
💻 Editor de código
JavaScript
Cargando editor...
Loading...