Pulicidad

Header Ads

Diferencias entre new promise y fetch en javascript

 ¿cuál es la diferencia entre new promise y fetch en javascript?

¡Hola amigos! Hoy vamos a hablar sobre dos términos importantes en JavaScript: new Promise y fetch. Ambos están relacionados con tareas asíncronas, pero tienen diferentes propósitos y características.

Empecemos por new Promise. ¿Alguna vez te has encontrado con una tarea que no se puede completar de inmediato? Por ejemplo, cargar una imagen, realizar un cálculo complejo, o hacer una solicitud de red. En lugar de bloquear el hilo de ejecución principal, que podría afectar la capacidad de respuesta de tu aplicación, puedes crear una promesa para manejar la tarea asíncrona.

new Promise es una función que te permite crear una promesa personalizada para cualquier operación asíncrona que desees. Puedes pasarle una función que acepta dos parámetros: resolve y reject. resolve se utiliza para resolver la promesa satisfactoriamente, mientras que reject se utiliza para rechazar la promesa si ocurre algún error. Luego, puedes encadenar .then() y .catch() para manejar la promesa resuelta o rechazada.

Ejemplo de new Promise:

Supongamos que deseamos calcular la suma de dos números después de un retraso de 2 segundos. En lugar de bloquear el hilo de ejecución principal, podemos crear una promesa para manejar la tarea asíncrona utilizando new Promise. Aquí te muestro cómo se hace:
function sumar(num1, num2) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const resultado = num1 + num2;
      resolve(resultado);
    }, 2000);
  });
}

sumar(4, 5)
  .then(resultado => console.log(`El resultado es ${resultado}`))
.catch(error => console.error(error));
En este ejemplo, creamos la función sumar que acepta dos números como parámetros. Luego, creamos una promesa utilizando new Promise y le pasamos una función que acepta resolve como argumento. Dentro de esa función, agregamos un retraso de 2 segundos y luego resolvemos la promesa con la suma de los dos números. Finalmente, encadenamos .then() y .catch() para manejar la promesa resuelta o rechazada.

Por otro lado, fetch es una función que se utiliza específicamente para hacer solicitudes HTTP y devolver una promesa que se resuelve cuando la respuesta está disponible. Puedes pasarle una URL como argumento y obtener una respuesta en formato JSON, texto o binario. Luego, puedes encadenar .then() y .catch() para manejar la respuesta de la solicitud y cualquier error que pueda ocurrir.

Ejemplo de fetch:

Supongamos que deseamos hacer una solicitud HTTP GET a una API utilizando fetch y obtener algunos datos. Aquí te muestro cómo se hace:
fetch('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => response.json())
  .then(data => console.log(data))
.catch(error => console.error(error));
En este ejemplo, utilizamos fetch para hacer una solicitud HTTP GET a la API de JSONPlaceholder. Luego, encadenamos .then() para obtener la respuesta de la solicitud en formato JSON y luego la imprimimos en la consola utilizando console.log(). También encadenamos .catch() para manejar cualquier error que pueda ocurrir durante la solicitud.

Entonces, ¿cuál es la diferencia clave entre new Promise y fetch? new Promise se utiliza para crear promesas personalizadas para cualquier operación asíncrona, mientras que fetch se utiliza específicamente para hacer solicitudes HTTP. Mientras que new Promise te da más flexibilidad para crear tus propias promesas personalizadas, fetch te permite hacer solicitudes HTTP de manera rápida y fácil.

Espero que esta explicación haya sido útil y que ahora tengas una mejor comprensión de la diferencia entre new Promise y fetch. ¡Hasta la próxima!

Publicar un comentario

0 Comentarios