Sobes.tech
Junior

Nombra las herramientas que has utilizado para escribir llamadas asíncronas.

sobes.tech AI

Respuesta de la IA

JavaScript ofrece varias herramientas para trabajar con llamadas asíncronas:

  • Funciones Callback: Enfoque clásico, donde una función se pasa como argumento a otra función y se ejecuta después de que la operación asíncrona termina.

  • Promesas (Promises): Objetos que representan un valor futuro o un error de una operación asíncrona. Simplifican la cadena de llamadas asíncronas y el manejo de errores.

    // Ejemplo de uso de promesas
    fetch('/api/data')
      .then(response => response.json()) // Manejo de respuesta exitosa
      .then(data => console.log(data)) // Trabajar con los datos recibidos
      .catch(error => console.error('Error:', error)); // Manejo de errores
    
  • Async/await: Azúcar sintáctico sobre las promesas, que permite escribir código asíncrono en un estilo más sincrónico, mejorando la legibilidad.

    // Ejemplo de uso de async/await
    async function fetchData() {
      try {
        const response = await fetch('/api/data'); // Espera a que fetch termine
        const data = await response.json(); // Espera a parsear JSON
        console.log(data);
      } catch (error) {
        console.error('Error:', error);
      }
    }
    fetchData();
    
  • XMLHttpRequest (XHR): API básica para realizar solicitudes HTTP en el navegador. Más de bajo nivel en comparación con fetch y requiere más código para manejar.

    // Ejemplo de uso de XMLHttpRequest
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/api/data', true); // Solicitud asíncrona
    xhr.onload = function() {
      if (xhr.status >= 200 && xhr.status < 300) {
        console.log(JSON.parse(xhr.responseText));
      } else {
        console.error('Error:', xhr.statusText);
      }
    };
    xhr.onerror = function() {
      console.error('Error de red');
    };
    xhr.send();
    
  • Fetch API: API moderna y más flexible para realizar solicitudes HTTP, basada en promesas.

    // Ejemplo de uso de Fetch API
    fetch('/api/data')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error('Error:', error));
    
  • Bibliotecas para trabajar con solicitudes HTTP: Por ejemplo, axios (para navegador y Node.js) o jQuery.ajax(). Simplifican y estandarizan la ejecución de solicitudes asíncronas.

    // Ejemplo de uso de Axios
    axios.get('/api/data')
      .then(response => console.log(response.data))
      .catch(error => console.error('Error:', error));
    

La elección de la herramienta depende de la especificidad de la tarea y del contexto del proyecto. Fetch y async/await son enfoques modernos y recomendados para la mayoría de los casos.