Sobes.tech
Junior

Ce metode de lucru cu codul asincron cunoști?

sobes.tech AI

Răspuns de la AI

Callbacks, Promises, async/await.

Callbacks: Funcții transmise ca argumente altor funcții, care sunt apelate după finalizarea unei operații asincrone.

Promises: Obiecte care oferă o modalitate mai convenabilă de a gestiona asincronia comparativ cu callback-urile. Au stări pending, fulfilled și rejected.

// Exemplu Promise
function asyncOperation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Operația s-a finalizat cu succes!');
    }, 1000);
  });
}

asyncOperation()
  .then(result => console.log(result))
  .catch(error => console.error(error));

async/await: Zahăr sintactic peste Promises, care face ca codul asincron să arate mai mult ca cel sincron și îmbunătățește lizibilitatea.

// Exemplu async/await
async function performAsyncOperation() {
  try {
    const result = await asyncOperation();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
}

performAsyncOperation();

Compararea metodelor:

Metodă Lizibilitate / Întreținere Tratarea erorilor Controlul fluxului
Callbacks Mai puțin lizibil (Callback Hell) Dificil Dificil
Promises Îmbunătățit Confortabil (.catch) Confortabil (.then, .catch)
async/await Cea mai bună Confortabil (try...catch) Confortabil (await)

Metoda cea mai preferată în aplicațiile moderne Node.js este utilizarea async/await datorită lizibilității și comodității sale. Promises rămân un instrument important, mai ales la niveluri inferioare de implementare. Callbacks sunt folosite în cod învechit sau pentru operații de nivel scăzut în nucleul Node.js.