Junior
Kādus veidus pazīsti, kā strādāt ar asīnhrono kodu?
sobes.tech AI
Atbilde no AI
Atbildes, Solījumi, async/await.
Atbildes: funkcijas, kuras tiek nodotas kā arguments citām funkcijām un izsauc pēc asinhronas operācijas pabeigšanas.
Solījumi: objekti, kas nodrošina ērtāku veidu pārvaldīt asinhronitāti nekā atbildes. Tie ir ar stāvokļiem pending, fulfilled un rejected.
// Piemērs ar Promise
function asyncOperation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Operācija veiksmīgi pabeigta!');
}, 1000);
});
}
asyncOperation()
.then(result => console.log(result))
.catch(error => console.error(error));
async/await: sintakses cukurs virs Promises, kas padara asinhrono kodu līdzīgāku sinhronam un uzlabo lasāmību.
// Piemērs ar async/await
async function performAsyncOperation() {
try {
const result = await asyncOperation();
console.log(result);
} catch (error) {
console.error(error);
}
}
performAsyncOperation();
Salīdzinājums:
| Veids | Lasāmība / Atbalsts | Kļūdu apstrāde | Plūsmas pārvaldība |
|---|---|---|---|
| Atbildes | Mazāk lasāmas (Callback Hell) | Grūti | Grūti |
| Solījumi | Uzlaboti | Ērti (.catch) | Ērti (.then, .catch) |
| async/await | Labākie | Ērti (try...catch) | Ērti (await) |
Pašreizējā populārākā metode mūsdienu Node.js lietojumprogrammās ir async/await dēļ tā lasāmības un ērtības. Solījumi joprojām ir svarīgi rīki, īpaši zemākā līmenī. Atbildes tiek izmantotas novecojušā kodā vai zemākā līmenī Node.js kodolā.