Сен асинхрондук код менен иштөө үчүн кандай ыкмаларды билесиң?
sobes.tech AI
AIден жооп
Callbacks, Promises, async/await.
Callbacks: Башка функцияларга аргумент катары берилген жана асинхрондуу операция аяктагандан кийин чакырылуучу функциялар.
Promises: Объекттер, алар колбектерге салыштырмалуу көбүрөөк ыңгайлуулук менен асинхронду башкарууну камсыз кылат. Алар pending, fulfilled жана rejected абалдарга ээ.
// Мисал Promise
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Операция ийгиликтүү аяктады!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await: Promises үстүндөгү синтаксистик шекер, ал асинхрондук кодду көбүрөөк синхронго окшош кылат жана анын окумдуулугун жакшыртат.
// Мисал async/await
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Методдордун салыштырылышы:
| Метод | Окумдуулук / Түзөтүү | Каталардын иштетилиши | Токтому башкаруу |
|---|---|---|---|
| Callbacks | Азырынча окумдуу эмес (Callback Hell) | Кыйын | Кыйын |
| Promises | Жакшыртылган | Ыңгайлуу (.catch) | Ыңгайлуу (.then, .catch) |
| async/await | Эң жакшы | Ыңгайлуу (try...catch) | Ыңгайлуу (await) |
Современный Node.js колдонмолордо эң көбүнчө колдонулган ыкма — async/await, анын окумдуулугу жана ыңгайлуулугу үчүн. Promises дагы маанилүү инструмент бойдон калууда, өзгөчө төмөнкү деңгээлде ишке ашырганда. Callbacks эски коддо же ядронын төмөнкү деңгээлдеги операцияларында колдонулат.