Junior — Middle
JavaScript-də asinxron kod ilə işləyərkən async/await və Promise quruluşları arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Promise — bu obyekt, asinxron əməliyyatın nəticəsini təmsil edir və gələcəkdə yerinə yetirilə və ya rədd edilə bilər. then() və catch() metodları vasitəsilə işləyiciləri qeyd etməyə imkan verir.
async/await — Promise üzərində sintaktik şəkərdir və asinxron kodu sinxron tərzdə yazmağa imkan verir, onu daha oxunaqlı və ayıklama üçün daha rahat edir.
Əsas fərqlər:
- Promise nəticə və səhvləri işləmək üçün then/catch zəncirlərini tələb edir.
- async/await, Promise-in nəticəsini gözləmək üçün await açar sözlərini istifadə etməyə imkan verir.
Nümunə:
// Promise
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
// async/await
async function fetchData() {
try {
const response = await fetch(url);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
fetchData();
Beləliklə, async/await Promise ilə işləməni sadələşdirir, kodu daha xətti və anlaşılan edir.