Nimetage tööriistad, mida kasutasite asünkroonsete kõnede kirjutamiseks.
sobes.tech AI
Vastus AI-lt
JavaScript pakub erinevaid tööriistu asünkroonsete kõnede tegemiseks:
-
Callback-funktsioonid: Klassikaline lähenemine, kus funktsioon antakse argumentina teisele funktsioonile ja täidetakse pärast asünkroonse operatsiooni lõpetamist.
-
Promises (lubadused): Objekti, mis esindab tulevase väärtuse või vea asünkroonse operatsiooni tulemust. Need lihtsustavad asünkroonsete kõnede ahelat ja vigade töötlemist.
// Promises kasutamise näide fetch('/api/data') .then(response => response.json()) // Eduka vastuse töötlemine .then(data => console.log(data)) // Töötlem andmetega .catch(error => console.error('Viga:', error)); // Vigade töötlemine -
Async/await: Süntaksiline suhkrupulber promiseside peal, mis võimaldab kirjutada asünkroonset koodi selgemas stiilis, parandades loetavust.
// Async/await kasutamise näide async function fetchData() { try { const response = await fetch('/api/data'); // Ootab fetchi lõpetamist const data = await response.json(); // Ootab JSON-i parseldamist console.log(data); } catch (error) { console.error('Viga:', error); } } fetchData(); -
XMLHttpRequest (XHR): Põhiline API HTTP-päringute tegemiseks brauseris. See on madalama taseme API võrreldes
fetch-iga ja nõuab rohkem koodi.// XMLHttpRequest kasutamise näide const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asünkroonne päring xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Viga:', xhr.statusText); } }; xhr.onerror = function() { console.error('Võrguviga'); }; xhr.send(); -
Fetch API: Kaasaegsem ja paindlikum API HTTP-päringute tegemiseks, mis põhineb promisesil.
// Fetch API kasutamise näide fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Viga:', error)); -
HTTP-päringute raamatukogud: Näiteks
axios(brauserile ja Node.js-le) võijQuery.ajax(). Need lihtsustavad ja standardiseerivad asünkroonsete päringute tegemist.// Axios kasutamise näide axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Viga:', error));
Valik sõltub ülesande spetsiifikast ja projekti kontekstist. Fetch ja async/await on kaasaegsed ja soovitatavad enamikul juhtudel.