Чӣ роҳҳои кор бо коди асинхронӣ мешиносӣ?
sobes.tech AI
Ҷавоб аз AI
Callbacks, Promises, async/await.
Callbacks: Функсияҳо, ки ҳамчун аргумент ба функсияҳои дигар дода мешаванд ва пас аз анҷоми амалиёти асинхронӣ даъват мешаванд.
Promises: Объектҳо, ки роҳи қулайтар барои идоракунии асинхронӣ нисбат ба callbacks пешниҳод мекунанд. Онҳо дорои ҳолатҳои 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 дар коди кӯҳна ё барои амалиётҳои пасти сатҳ дар ядрои Node.js истифода мешаванд.