Saltar al contenido

¿Cómo manejar el error ETIMEDOUT?

Solución:

Esto se produce cuando la respuesta a su solicitud no se recibe en un tiempo determinado (por timeout Solicitar opción de módulo).

Básicamente, para detectar ese error primero, debe registrar un controlador en error, por lo que el error no controlado ya no se lanzará: out.on('error', function (err) { /* handle errors here */ }). Alguna explicación más aquí.

En el controlador puede verificar si el error es ETIMEDOUT y aplicar su propia lógica: if (err.message.code === 'ETIMEDOUT') { /* apply logic */ }.

Si desea volver a solicitar el archivo, le sugiero que utilice módulos de reintento de nodo o de retirada de nodo. Hace las cosas mucho más sencillas.

Si desea esperar más, puede configurar timeout opción de solicitarlo usted mismo. Puede configurarlo en 0 para que no haya tiempo de espera.

Podríamos mirar el objeto de error para una propiedad code que menciona el posible error del sistema y en los casos de ETIMEDOUT cuando falle una llamada de red, actúe en consecuencia.

if (err.code === 'ETIMEDOUT') {
    console.log('My dish error: ', util.inspect(err, { showHidden: true, depth: 2 }));
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *