Lingua-e
JavaScript

¿Qué significa ETIMEDOUT?

← Errores

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.

Ejemplos

JavaScript

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ómo solucionarlo

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.

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");
  }
}

Errores relacionados

¿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