Uveďte nástroje, ktoré ste použili na písanie asynchrónnych volaní.
sobes.tech AI
Odpoveď od AI
JavaScript ponúka rôzne nástroje na prácu s asynchrónnymi volaniami:
-
Callback funkcie: Klasický prístup, kde sa funkcia odovzdáva ako argument inej funkcii a vykoná sa po dokončení asynchrónnej operácie.
-
Promises (sľuby): Objekt predstavujúci budúcu hodnotu alebo chybu asynchrónnej operácie. Zjednodušujú reťazenie asynchrónnych volaní a spracovanie chýb.
// Príklad použitia promises fetch('/api/data') .then(response => response.json()) // Spracovanie úspešnej odpovede .then(data => console.log(data)) // Práca s načítanými dátami .catch(error => console.error('Chyba:', error)); // Spracovanie chýb -
Async/await: Syntaxický cukor nad promises, umožňujúci písať asynchrónny kód v jednoduchšom štýle, čo zvyšuje čitateľnosť.
// Príklad použitia async/await async function fetchData() { try { const response = await fetch('/api/data'); // Čakanie na dokončenie fetch const data = await response.json(); // Čakanie na parsovanie JSON console.log(data); } catch (error) { console.error('Chyba:', error); } } fetchData(); -
XMLHttpRequest (XHR): Základné API na vykonávanie HTTP požiadaviek v prehliadači. Je nižšej úrovne ako
fetcha vyžaduje viac kódu na spracovanie.// Príklad použitia XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asynchrónna požiadavka xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Chyba:', xhr.statusText); } }; xhr.onerror = function() { console.error('Chyba siete'); }; xhr.send(); -
Fetch API: Modernéjší a flexibilnejší API na vykonávanie HTTP požiadaviek, založené na promises.
// Príklad použitia Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Chyba:', error)); -
Knihovny na prácu s HTTP požiadavkami: Napríklad
axios(pre prehliadače a Node.js) alebojQuery.ajax(). Uľahčujú a štandardizujú vykonávanie asynchrónnych požiadaviek.// Príklad použitia Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Chyba:', error));
Výber nástroja závisí od špecifík úlohy a kontextu projektu. Fetch a async/await sú moderné a odporúčané prístupy pre väčšinu prípadov.