Sobes.tech
Junior

Nevezze meg az eszközöket, amelyeket az aszinkron hívások írásához használt.

sobes.tech MI

Válasz az MI-től

A JavaScript különféle eszközöket kínál az aszinkron hívások kezelésére:

  • Callback függvények: Klasszikus megközelítés, ahol egy függvényt argumentumként adunk át egy másiknak, és az aszinkron művelet befejezése után fut le.

  • Promises: Olyan objektumok, amelyek egy jövőbeli értéket vagy hibát képviselnek egy aszinkron műveletből. Egyszerűsítik az aszinkron hívások láncolását és a hibakezelést.

    // Promises használatának példája
    fetch('/api/data')
      .then(response => response.json()) // Sikeres válasz kezelése
      .then(data => console.log(data)) // A kapott adatokkal való munka
      .catch(error => console.error('Hiba:', error)); // Hibakezelés
    
  • Async/await: Szintaktikai cukor a promises felett, lehetővé teszi az aszinkron kód írását szinkronabb stílusban, ami javítja az olvashatóságot.

    // Async/await használatának példája
    async function fetchData() {
      try {
        const response = await fetch('/api/data'); // Várakozás a fetch befejezésére
        const data = await response.json(); // Várakozás a JSON elemzésére
        console.log(data);
      } catch (error) {
        console.error('Hiba:', error);
      }
    }
    fetchData();
    
  • XMLHttpRequest (XHR): Alap API az HTTP-kérések végrehajtásához a böngészőben. Alacsonyabb szintű, mint a fetch, és több kódot igényel a kezeléshez.

    // XMLHttpRequest használatának példája
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/api/data', true); // Aszinkron kérés
    xhr.onload = function() {
      if (xhr.status >= 200 && xhr.status < 300) {
        console.log(JSON.parse(xhr.responseText));
      } else {
        console.error('Hiba:', xhr.statusText);
      }
    };
    xhr.onerror = function() {
      console.error('Hálózati hiba');
    };
    xhr.send();
    
  • Fetch API: Modern és rugalmas API az HTTP-kérések végrehajtásához, promises alapú.

    // Fetch API használatának példája
    fetch('/api/data')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error('Hiba:', error));
    
  • HTTP-kérésekkel dolgozó könyvtárak: Például az axios (böngésző és Node.js esetén) vagy a jQuery.ajax(). Ezek egyszerűsítik és szabványosítják az aszinkron kérések végrehajtását.

    // Axios használatának példája
    axios.get('/api/data')
      .then(response => console.log(response.data))
      .catch(error => console.error('Hiba:', error));
    

A eszköz kiválasztása a feladat sajátosságaitól és a projekt kontextusától függ. A fetch és az async/await modern és ajánlott megközelítések a legtöbb esetben.