Sobes.tech
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ā.