Qué significa ETIMEDOUT y cómo solucionarlo
Referencia del error
ETIMEDOUT
Lenguaje
Severidad
AltaCuándo ocurre
ETIMEDOUT es un código de error de red de Node.js que indica que una operación de red (intento de conexión o transferencia de datos) no se completó dentro del tiempo permitido.
Posibles soluciones
Establece timeouts explícitos en todas las llamadas de red salientes. Distingue entre timeouts de conexión (servidor inalcanzable) y timeouts de lectura (servidor lento). Implementa circuit breakers para dependencias que frecuentemente se agotan.
Errores relacionados
Más detalles
ETIMEDOUT es un código de error de red de Node.js que indica que una operación de red (intento de conexión o transferencia de datos) no se completó dentro del tiempo permitido. Es el equivalente de Node.js al TimeoutError de Python y es distinto de ECONNRESET.
Por qué ocurre
- •El host remoto es inalcanzable y los paquetes SYN se descartan (no se rechazan).
- •Un timeout de conexión se dispara antes de que se complete el handshake TCP.
- •Un timeout de lectura se dispara porque el servidor aceptó la conexión pero nunca respondió.
- •Una cola de servidor sobrecargada nunca procesa la solicitud.
Posibles soluciones
Establece timeouts explícitos en todas las llamadas de red salientes. Distingue entre timeouts de conexión (servidor inalcanzable) y timeouts de lectura (servidor lento). Implementa circuit breakers para dependencias que frecuentemente se agotan.
Ejemplos
Código que causa el error
const axios = require("axios");
await axios.get("https://10.255.255.1/api", { timeout: 3000 });Error en la terminal
Error: timeout of 3000ms exceeded
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT'Código corregido
const axios = require("axios");
try {
const res = await axios.get("https://api.example.com/data", {
timeout: 5000,
});
} catch (err) {
if (err.code === "ETIMEDOUT") {
console.error("Request timed out");
}
}Practica en inglés
¿Cómo le explicarías un ETIMEDOUT a un compañero dev? Elige la frase correcta:
"I hit an error...
¿Listo para practicar tu inglés en el trabajo?
Lingua-e tiene ejercicios interactivos basados en conversaciones reales de developers: standups, code reviews, retrospectivas y más. Practica hasta que salga solo.
Prueba Lingua-e gratis