Programación Asincrónica en JavaScript Promesas, async/await y Manejo de Errores

La programación asincrónica es una parte esencial del desarrollo moderno en JavaScript, permitiendo que las operaciones se realicen de manera no bloqueante y eficiente. En este artículo, exploraremos las técnicas clave para trabajar con operaciones asincrónicas en JavaScript, incluyendo el uso de promesas, async/await y cómo manejar errores de manera efectiva.

Promesas en JavaScript

Las promesas son una forma de gestionar operaciones asincrónicas en JavaScript. Una promesa representa el eventual resultado (o falla) de una operación asincrónica, y puede estar en uno de tres estados: pendiente, cumplida o rechazada.

const miPromesa = new Promise((resolve, reject) => {
    // Simulando una operación asincrónica
    setTimeout(() => {
        const exito = true;
        if (exito) {
            resolve("¡Operación exitosa!");
        } else {
            reject("¡Error en la operación!");
        }
    }, 2000);
});

miPromesa.then(resultado => {
    console.log(resultado); // Salida: ¡Operación exitosa!
}).catch(error => {
    console.error(error); // Salida: ¡Error en la operación!
});

En este ejemplo, creamos una promesa que simula una operación asincrónica y luego manejamos tanto el caso de éxito como el caso de error utilizando los métodos then y catch.

async/await en JavaScript

async y await son características introducidas en ECMAScript 2017 (también conocido como ES8) que proporcionan una forma más limpia y legible de trabajar con operaciones asincrónicas en JavaScript.

async function miFuncionAsincronica() {
    try {
        const resultado = await miPromesa;
        console.log(resultado); // Salida: ¡Operación exitosa!
    } catch (error) {
        console.error(error); // Salida: ¡Error en la operación!
    }
}

miFuncionAsincronica();

En este ejemplo, utilizamos la palabra clave async para declarar una función asincrónica y la palabra clave await para esperar el resultado de una promesa. Esto hace que el código sea más fácil de leer y entender, especialmente cuando se trabaja con múltiples operaciones asincrónicas.

Manejo de Errores en Operaciones Asincrónicas

El manejo adecuado de errores es crucial al trabajar con operaciones asincrónicas en JavaScript. Afortunadamente, tanto las promesas como async/await proporcionan mecanismos integrados para manejar errores de manera efectiva.


async function obtenerDatos() {
    try {
        const respuesta = await fetch('https://api.example.com/data');
        if (!respuesta.ok) {
            throw new Error('Error al obtener los datos');
        }
        const datos = await respuesta.json();
        return datos;
    } catch (error) {
        console.error('Error:', error.message);
        return null;
    }
}

obtenerDatos().then(datos => {
    if (datos) {
        console.log('Datos obtenidos:', datos);
    } else {
        console.log('No se pudieron obtener los datos');
    }
});

En este ejemplo, utilizamos async/await para obtener datos de una API y manejar cualquier error que pueda ocurrir durante el proceso. Si se produce un error, lo capturamos y lo mostramos en la consola, y luego devolvemos null para indicar que no se pudieron obtener los datos.

Contenido que te pude interesar

Deja una respuesta

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

Subir