Middle
Async/await quruluşu niyə təqdim olundu və o, asinxron kod ilə işləməni necə yaxşılaşdırır?
sobes.tech Süni İntellekt
AI-dan cavab
Async/await, ənənəvi callbacklər və ya vədlərlə müqayisədə, asinxron kodun yazılmasını sadələşdirmək və onu daha oxunaqlı və saxlanması asan etmək üçün təqdim edilmişdir.
Nə üçün yaxşılaşdırır:
- Oxunaqlıq:
async/awaitilə yazılmış kod, sətir-sətir sinxron kod kimi görünür, bu da onun başa düşülməsini xeyli asanlaşdırır. - Xəta idarəetməsi: Standart strukturlardan, məsələn, try/catch istifadə etməyə imkan verir, bu da asinxron kodda xəta baş verdikdə onu idarə etməyə imkan verir,
.catch()-a nisbətən. - Debug: Dayandırma nöqtələri (breakpoints) sinxron kod kimi işləyir, bu da debug prosesini sadələşdirir.
- Daha az "callback hell": İç-içə callbackların problemini aradan qaldırır, bu da oxumağı çətinləşdirən kodların yaranmasına səbəb olur.
Nümunə:
Vədələrlə kod:
// Vədələrlə nümunə
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Məlumatların alınmasında xəta:', error);
});
Eyni kod async/await ilə:
// async/await ilə nümunə
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
} catch (error) {
console.error('Məlumatların alınmasında xəta:', error);
}
}
fetchData();
async/await quruluşu vədlər üzərində qurulmuşdur və onlarla işləmək üçün sintaktik şəkərdir. async ilə işarələnmiş funksiya həmişə vəd qaytarır. await operatoru yalnız async funksiyalar daxilində istifadə oluna bilər və vədin həll olunmasını "gözləyir", onun həll olunmuş dəyərini qaytarır və ya xəta baş verdikdə istisna yaradır.