Асинхрон чакырууларды жазуу үчүн колдонгон инструменттериңизди атаңыз.
sobes.tech AI
AIден жооп
JavaScript ар кандай аспинхрон чакыруулар менен иштөө үчүн инструменттерди сунуштайт:
-
Callback функциялары: Классикалык ыкма, анда функция башка функциянын аргумент катары берилет жана асинхрондук операция аяктагандан кийин ишке ашырылат.
-
Promises (уәделер): Асинхрондук операциянын келечектеги мааниси же катады көрсөтүүчү объекттер. Алар асинхрондук чакырууларды чынжырлоо жана ката иштетүүнү жеңилдетет.
// Promises колдонуу мисалы fetch('/api/data') .then(response => response.json()) // ийгиликтүү жоопту иштетүү .then(data => console.log(data)) // алынган маалыматтар менен иштөө .catch(error => console.error('Ката:', error)); // ката иштетүү -
Async/await: Promises үстүндөгү синтаксистик шекер, асинхрондук кодду көбүрөөк окулушу үчүн жазууга мүмкүндүк берет, бул окуулушту жакшыртат.
// Async/await колдонуу мисалы async function fetchData() { try { const response = await fetch('/api/data'); // fetch аяктагандан күтүү const data = await response.json(); // JSON парсинг күтүү console.log(data); } catch (error) { console.error('Ката:', error); } } fetchData(); -
XMLHttpRequest (XHR): Браузердеги HTTP суроо-талаптарды аткаруу үчүн негизги API.
fetchке караганда төмөнкү деңгээлде жана көбүрөөк код талап кылынат.// XMLHttpRequest колдонуу мисалы const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // асинхрондуу суроо xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Ката:', xhr.statusText); } }; xhr.onerror = function() { console.error('Тармак ката'); }; xhr.send(); -
Fetch API: Заманауи жана көбүрөөк ийкемдүү API HTTP суроо-талаптарды аткаруу үчүн, promisesке негизделген.
// Fetch API колдонуу мисалы fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Ката:', error)); -
HTTP суроо-талаптар үчүн китепканалар: Мисалы,
axios(браузерлер жана Node.js үчүн) жеjQuery.ajax(). Алар асинхрондук суроолорду аткарууну жөнөкөйлөтөт жана стандартташтырат.// Axios колдонуу мисалы axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Ката:', error));
Инструмент тандоо иштин өзгөчөлүктөрүнө жана долбоордун контекстине жараша болот. Fetch жана async/await көбүнчө учурда заманбап жана сунушталат.