Manejo del rechazo de Promise con catch mientras se usa await

En este artículo, intentaremos comprender cómo podemos manejar el rechazo de Promise con un bloque try/catch mientras usamos await dentro de una función (o método) asíncrona (que tiene un prefijo como palabra clave asíncrona ).

Sintaxis: Primero visualicemos rápidamente la siguiente sintaxis ilustrada que podemos usar para crear una Promesa en JavaScript:

let new_promise = new Promise ((resolve, reject) => {
    // do something....
})

Veamos un ejemplo rápido que ilustrará cómo usar la sintaxis mencionada anteriormente para crear una promesa:

Ejemplo 1: en este ejemplo, simplemente crearemos una promesa que se resolverá con éxito y que contiene datos que se imprimirán como salida o resultado.

JavaScript

<script>
    let new_promise = new Promise((resolve, reject) => {
        resolve("GeeksforGeeks....!!");
    });
  
    console.log("Promise created: " + new_promise);
    new_promise.then((result) => console.log(
        "Data inside promise is : " + result));
</script>

Producción:

Promise created: [object Promise]
Data inside promise is : GeeksforGeeks....!!

Ahora, después de analizar la sintaxis de la promesa a través de un ejemplo, echemos un vistazo al ejemplo mencionado a continuación que nos ayudará a comprender la declaración de nuestro problema de manera eficiente.

Ejemplo 2: En este ejemplo, crearemos una promesa dentro de una función (o un método) y luego haremos que esa promesa sea rechazada (bajo el método de estado de rechazo()) y en otra función (o método) llamaremos a ese método en el bloque de prueba y, además, detectaremos el error dentro del propio bloque catch().

JavaScript

<script>
    function rejected_promise() {
        return new Promise((resolve, reject) => {
            reject(new Error(
                "This promise is Rejected..."));
        });
    }
  
    async function displayData() {
        try {
            await rejected_promise();
        } catch (e) {
            console.log("Error Message: ", e.message);
        }
    }
  
    displayData();
</script>

Producción:

Error Message:  This promise is Rejected...

Ejemplo 3: En este ejemplo, crearemos una promesa rechazada dentro de una función y mientras creamos la promesa usaremos una función de temporizador llamada setTimeout() y dentro de esa función setTimeout() pasaremos nuestro método de rechazo() y luego en otra función, crearemos un bloque try/catch y luego imprimiremos nuestro resultado.

JavaScript

<script>
    function rejected_promise() {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                reject(new Error(
                    "This Promise is Rejected..."));
            }, 1000);
        });
    }
  
    async function displayData() {
        try {
            await rejected_promise();
        } catch (error) {
            console.log("Error Message: ", error.message);
        }
    }
  
    displayData();
</script>

Producción:

Error Message:  This Promise is Rejected...

Publicación traducida automáticamente

Artículo escrito por amansingla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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