Uveďte nástroje, které jste použili k psaní asynchronních volání.
sobes.tech AI
Odpověď od AI
JavaScript nabízí různé nástroje pro práci s asynchronními voláními:
-
Callback funkce: Klasický přístup, kdy je funkce předána jako argument jiné funkce a vykoná se po dokončení asynchronní operace.
-
Promises (sliby): Objekt představující budoucí hodnotu nebo chybu asynchronní operace. Zjednodušují řetězení asynchronních volání a zpracování chyb.
// Příklad použití promises fetch('/api/data') .then(response => response.json()) // Zpracování úspěšné odpovědi .then(data => console.log(data)) // Práce s načtenými daty .catch(error => console.error('Chyba:', error)); // Zpracování chyb -
Async/await: Syntaxový cukr nad promises, umožňující psát asynchronní kód v jednodušším stylu, což zvyšuje čitelnost.
// Příklad použití async/await async function fetchData() { try { const response = await fetch('/api/data'); // Čekání na dokončení fetch const data = await response.json(); // Čekání na parsování JSON console.log(data); } catch (error) { console.error('Chyba:', error); } } fetchData(); -
XMLHttpRequest (XHR): Základní API pro provádění HTTP požadavků v prohlížeči. Je nižší úrovně než
fetcha vyžaduje více kódu pro zpracování.// Příklad použití XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asynchronní požadavek 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 sítě'); }; xhr.send(); -
Fetch API: Modernější a flexibilnější API pro provádění HTTP požadavků, založené na promises.
// Příklad použití Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Chyba:', error)); -
Knihovny pro práci s HTTP požadavky: Například
axios(pro prohlížeče a Node.js) nebojQuery.ajax(). Zjednodušují a standardizují provádění asynchronních požadavků.// Příklad použití Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Chyba:', error));
Volba nástroje závisí na specifikách úkolu a kontextu projektu. Fetch a async/await jsou moderní a doporučené přístupy pro většinu případů.