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 ajQuery.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.