Junior
JavaScriptтеги async/await курулушу жөнүндө мага айтып бер.
sobes.tech AI
AIден жооп
async/await — promises үстүндөгү синтаксистик шакар, асинхрондук кодду жазууну жеңилдетүү үчүн иштелип чыккан, ал синхрон көрүнөт.
async сөзү менен белгиленген функция ар дайым promise кайтарат. async функциясынын ичинде await сөзүн колдонсо болот.
await оператору promise чакыруунун алдында колдонулат. Ал async функциясынын иштешин токтотот, анткени promise чечилген (resolved) же четке кагылган (rejected)чака. Promise ишке ашканда (же ийгиликтүү же каталар менен) анын жыйынтыгы await аркылуу кайтарылат.
Эгер await менен белгиленген promise четке кагылса, бул ката чыгарат жана try...catch блоку менен кармалышы мүмкүн.
// async/await колдонуу мисалы
async function fetchData() {
try {
// Асинхрондук операциянын аяктоосун күтүп жатабыз (мисалы, API суроо)
const response = await fetch('https://api.example.com/data');
// Жоопту JSON катары талдоо
const data = await response.json();
// Алынган маалыматтарды көрсөтүү
console.log(data);
} catch (error) {
// Кандайдыр бир катаны кармоо
console.error('Маалыматтарды алуудө каталар:', error);
}
}
// async функцияны чакырабыз
fetchData();
// Promise кайтарган async функция мисалы
async function getValue() {
return 10; // Бул автоматтык түрдө Promise.resolve(10) болуп кутулат
}
getValue().then(value => console.log(value)); // 10 чыгат
async/await артыкчылыктары:
- Коддун окумдуулугу: Асинхрондук код көбүрөөк синхронго окшош болот
- Ката иштетүү: Стандарттык
try...catchблоктору менен колдонуу оңой - Аз иреттөө: "Callback тозок" же узун цепочкалардан качуу
.then()
Маанилүү: await гана async функциялардын ичинде колдонулушу керек.