Navedite alate koje ste koristili za pisanje asinhronih poziva.
sobes.tech АИ
Одговор од АИ
JavaScript nudi različite alate za rad sa asinhronim pozivima:
-
Callback funkcije: Klasičan pristup, gde se funkcija prosleđuje kao argument drugoj funkciji i izvršava nakon završetka asinhrone operacije.
-
Promises (obećanja): Objekti koji predstavljaju buduću vrednost ili grešku asinhrone operacije. Olakšavaju lančano izvršavanje asinhronih poziva i obradu grešaka.
// Primer korišćenja promises fetch('/api/data') .then(response => response.json()) // Obrada uspešnog odgovora .then(data => console.log(data)) // Rad sa dobijenim podacima .catch(error => console.error('Greška:', error)); // Obrada grešaka -
Async/await: Sintaksički šećer nad promises, omogućava pisanje asinhronog koda u jednostavnijem stilu, što povećava čitljivost.
// Primer korišćenja async/await async function fetchData() { try { const response = await fetch('/api/data'); // Čekanje na završetak fetch const data = await response.json(); // Čekanje na parsiranje JSON console.log(data); } catch (error) { console.error('Greška:', error); } } fetchData(); -
XMLHttpRequest (XHR): Osnovni API za izvršavanje HTTP zahteva u pretraživaču. Viši nivo u poređenju sa
fetchi zahteva više koda za obradu.// Primer korišćenja XMLHttpRequest const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asinhroni zahtev xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Greška:', xhr.statusText); } }; xhr.onerror = function() { console.error('Greška mreže'); }; xhr.send(); -
Fetch API: Moderniji i fleksibilniji API za izvršavanje HTTP zahteva, zasnovan na promises.
// Primer korišćenja Fetch API fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Greška:', error)); -
Biblioteke za rad sa HTTP zahtevima: Na primer,
axios(za pretraživače i Node.js) ilijQuery.ajax(). Olakšavaju i standardizuju izvršavanje asinhronih zahteva.// Primer korišćenja Axios axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Greška:', error));
Izbor alata zavisi od specifičnosti zadatka i konteksta projekta. Fetch i async/await su savremeni i preporučeni pristupi za većinu slučajeva.