Asinxron chaqiriqlar yozish uchun ishlatgan vositalaringizni nomlang.
sobes.tech AI
AIdan javob
JavaScript asinxron chaqiruvlar bilan ishlash uchun turli vositalar taklif qiladi:
-
Callback funksiyalar: Klassik yondashuv, bu yerda funksiya boshqa funksiyaga argument sifatida beriladi va asinxron operatsiya tugagach bajariladi.
-
Promises: Kelajakdagi qiymat yoki xatoni ifodalaydigan obyektlar. Asinxron chaqiruvlar zanjirini soddalashtiradi va xatoliklarni boshqarishni osonlashtiradi.
// Promisesdan foydalanish misoli fetch('/api/data') .then(response => response.json()) // Muvaffaqiyatli javobni boshqarish .then(data => console.log(data)) // Olingan ma'lumotlar bilan ishlash .catch(error => console.error('Xato:', error)); // Xatoliklarni boshqarish -
Async/await: Promises ustidagi sintaktik shakar, bu yordamida asinxron kodni ko'proq sinxron uslubda yozish mumkin, bu esa o'qish osonligini oshiradi.
// Async/awaitdan foydalanish misoli async function fetchData() { try { const response = await fetch('/api/data'); // fetch tugashini kutish const data = await response.json(); // JSON parsingni kutish console.log(data); } catch (error) { console.error('Xato:', error); } } fetchData(); -
XMLHttpRequest (XHR): Brauzerda HTTP so'rovlarini bajarish uchun asosiy API.
fetchga nisbatan pastroq darajadagi va ko'proq kod talab qiladi.// XMLHttpRequestdan foydalanish misoli const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asinxron so'rov xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Xato:', xhr.statusText); } }; xhr.onerror = function() { console.error('Tarmoq xatosi'); }; xhr.send(); -
Fetch API: Zamonaviy va ko'proq moslashuvchan API, promiselarga asoslangan.
// Fetch APIdan foydalanish misoli fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Xato:', error)); -
HTTP so'rovlar bilan ishlash uchun kutubxonalar: Masalan,
axios(brauzer va Node.js uchun) yokijQuery.ajax(). Ular asinxron so'rovlarni soddalashtiradi va standartlashtiradi.// Axiosdan foydalanish misoli axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Xato:', error));
Vositani tanlash vazifa xususiyatlariga va loyiha kontekstiga bog'liq. Fetch va async/await hozirgi vaqtda zamonaviy va tavsiya etilgan yondashuvlardir.