Manejo de errores de promesa de JavaScript

Manejo de errores de promesa de JavaScript
El código asincrónico puede usar promesas para aplicar el manejo de errores estructurados. Mientras usa promesas, puede especificar un controlador de errores al "entonces()"Método o usar un"atrapar()" bloquear. Similar a las excepciones agregadas en el código regular, cuando una promesa se rechaza, busca el controlador de errores más cercano, donde el error lanzado se pasa como segundo parámetro al método () o el controlador de errores lo pasa al método Catch ().

Este artículo discutirá el manejo de errores de promesa de JavaScript con la ayuda de ejemplos adecuados. Entonces, comencemos!

Manejo de errores de promesa de JavaScript

Las promesas se utilizan para administrar el flujo de ejecución en un programa. Las promesas de encadenamiento también son útiles al ejecutar una serie de funciones asincrónicas, donde cada una depende de la función anterior. En una promesa, puede utilizar dos métodos para manejar errores que son los "entonces()Método "y el"atrapar()" bloquear.

JavaScript Promise Error Maneing usando el método entonces ()

El "entonces()El método se ejecuta cuando se cumple o rechazan una promesa. Si la promesa adicional se cumple con éxito, su función de controlador relacionada se ejecutará. Sin embargo, el controlador de errores para el "entonces()El método se ejecutará en caso de rechazo de promesa.

Ejemplo: JavaScript Promise Error Manyling usando el método entonces ()
En el ejemplo dado a continuación, hemos agregado "entonces()El método "que comprende dos devoluciones de llamada, una es la función del controlador de éxito y el otro es para el manejo de errores:

const promoBj = new Promise ((resolve, rechazar) =>
setTimeOut (() =>
rechazar ("se encuentra un error");
, 2000));
PROMEDOBJ.entonces ((respuesta) =>
consola.log (respuesta);, (error) =>
consola.log (error); );

La ejecución del programa anterior le mostrará la siguiente salida:

Como puede ver en la salida, ese controlador especificado del "entonces()"El método funciona perfectamente; Sin embargo, también tiene algunos inconvenientes. Por ejemplo, podemos encontrar cualquier error en el controlador de éxito, pero el controlador de éxito adicional no puede manejarlo. Además, en el caso de usar el método entonces (), debe escribir un controlador de errores para cada bloque "entonces ()". En tal situación, puede utilizar "atrapar()"Para superar los inconvenientes mencionados.

Ejemplo 1: JavaScript Promise Error Manyling usando el bloque Catch ()
Ahora, agregaremos una captura () para manejar el error o el estado de rechazo de la promesa:

const promoBj = new Promise ((resolve, rechazar) =>
setTimeOut (() =>
rechazar ("se encuentra un error");
, 2000));
PROMEDOBJ.entonces ((respuesta) =>
consola.log (respuesta);).capt ((error) =>
consola.log (error); );

Cuando una de las promesas adicionales es rechazada, la cadena de promesas restante se terminará. Esa es la razón por la que solo se ejecuta un registro de consola:

Ejemplo 2: JavaScript Promise Error Manyling usando el bloque Catch ()
En el siguiente ejemplo, en primer lugar, el objeto de promesa de asistencia aceptará "Taylor"Como argumento de nombre y luego mostrarlo en la consola. Después de eso, la función verificará si la función prometía se cumple o rechazará y ejecutará el código agregado en consecuencia:

const asistencia = function (nombre)
return new Promise ((resolve, rechazar) =>
if (name === "Louis")
RETURN RECHAT ("Louis está presente");
demás
setTimeOut (() =>
devolver resolución (nombre);
, 2000);

);
Asistencia ("Taylor")
.entonces ((data) =>
consola.Dato de registro);
Asistencia de regreso ("Louis"); )
.entonces ((data) =>
consola.Dato de registro);
Asistencia de regreso ("Stepheny"); )
.capt ((error) =>
consola.log (error); )

Promesa de JavaScript.Método all ()

La promesa.All () JavaScript Method le permite ejecutar múltiples operaciones asíncronas simultáneamente. En tal escenario, la devolución de llamada se ejecutará cuando la promesa.Todo el método completa las operaciones especificadas.

Ejemplo: Uso de JavaScript Promise.Método all ()
El ejemplo proporcionado ejecutará simultáneamente las promesas "X","Y", y "z". Después de eso, todas las promesas volverán "nombre":

const promoBj = function (nombre)
return new Promise ((resolve, rechazar) =>
setTimeOut (() =>
devolver resolución (nombre);
, 2000);
);
const x = promesaBj ("taylor");
const y = promesaBj ("Stepheny");
const z = promesaBj ("max");
Promesa.Todos ([x, y, z])
.entonces ((data) =>
consola.Dato de registro); );

La ejecución solo tomará dos segundos para mostrar tres nombres, mientras que en el caso de la promesa de encadenarla requerirá seis segundos:

Promesa de JavaScript.método de raza ()

Si desea ejecutar la devolución de llamada tan pronto como se complete la primera operación asincrónica, puede utilizar el "Promesa.carrera()" método.

Ejemplo: Uso de JavaScript Promise.método de raza ()
Hemos creado tres objetos de promesas "X","Y", y "z"Con el nombre y los argumentos de tiempo pasaron al"PROMEBJ ()" función:

const promocionObj = function (nombre, tiempo)
return new Promise ((resolve, rechazar) =>
setTimeOut (() =>
devolver resolución (nombre);
, tiempo);
);

Aquí, "Marie"Tiene el menor tiempo de"1"Segundo, así que ella va a ganar la carrera y su nombre se mostrará como salida:

const x = promesaBj ("taylor", 3000);
const y = promesaBJ ("Stepheny", 2000);
const z = prometoBj ("marie", 1000);
Promesa.raza ([x, y, z])
.entonces ((data) =>
consola.Dato de registro); )
.capt ((error) =>
consola.log (error);
)

La salida dada anterior significa que hemos implementado con éxito la promesa.Método de raza () para ejecutar múltiples operaciones simultáneamente.

Conclusión

Utilizando el atrapar() y entonces() Métodos, puede manejar el error lanzado o rechazar () llamar al encadenamiento de la promesa. Para manejar errores, es preferible agregar un método Catch () en su código. El controlador de errores luego examina el código y los maneja en consecuencia. Este artículo explicó el manejo de errores de promesa en JavaScript con la ayuda de ejemplos adecuados.