Ejemplo de Promesas

Ejemplo de Promesa 1: Simulación de operación asincrónica: solicitud de red

const promesared = new Promise((resolve, reject) => {
setTimeout(() => {
const exito = false;
// Cambiar a true para simular respuesta y false para simular un rechazo
if (exito) {
resolve("¡Éxito! Datos recibidos");
} else {
reject("Error: No se pudieron recibir los datos");
}
}, 2000);
});

promesared
.then((resultado) => {
console.log(resultado);
console.log = function (message) {
document.getElementById("promesaredtrue").innerHTML += message
}
})
.catch((error) => {
console.error(error);
console.log = function (message) {
document.getElementById("promesaredfalse").innerHTML += message
}
});

Ejemplo de Promesa 2: Búsqueda de datos

function obtenerDatos() {
return new Promise((resolve, reject) => {
// Simulación de solicitud de datos asincrónica
setTimeout(() => {
const exito = true;
// Cambiar a false para simular un error
if (exito) {
resolve("Datos obtenidos correctamente");
} else {
reject("Error: No se pueden obtener los datos");
}
}, 2000);
});
}

obtenerDatos()
.then((datos) => {
console.log(datos);
})
.catch((error) => {
console.error(error);
});

Ejemplo de Promesa 3: Carga de imágenes

function cargarImagen(src) {
return new Promise((resolve, reject) => {
const imagen = new Image();
imagen.src = src;
imagen.onload = () => {
resolve(imagen);
};
imagen.onerror = () => {
reject("Error al cargar la imagen: " + src);
};
});
}

cargarImagen("imagen1.jpg")
.then((imagen) => {
document.body.appendChild(imagen);
return cargarImagen("imagen2.jpg");
})

.then((imagen) => {
document.body.appendChild(imagen);
})
.catch((error) => {
console.error(error);
});