Sobes.tech
Junior

Milliseid viise sa tead asünkroonse koodiga töötamiseks?

sobes.tech AI

Vastus AI-lt

Kutsed, Loodused, async/await.

Kutsed: funktsioonid, mis edastatakse teiste funktsioonide argumentidena ja kutsutakse pärast asünkroonilise operatsiooni lõpetamist.

Loodused: objektid, mis pakuvad mugavamat viisi asünkroonsuse haldamiseks võrreldes kutsedega. Neil on olekud pending, fulfilled ja rejected.

// Näide Promise'ist
function asyncOperation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Operatsioon edukalt lõpetatud!');
    }, 1000);
  });
}

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

async/await: sünteetiline suhkrupulber Promise'ide peal, mis muudab asünkroonse koodi sarnasemaks sünkrontse ja parandab selle loetavust.

// Näide async/await'ist
async function performAsyncOperation() {
  try {
    const result = await asyncOperation();
    console.log(result);
  } catch (error) {
    console.error(error);
  }
}

performAsyncOperation();

Võrdlus meetodite vahel:

Meetod Loetavus / Toetus Vea käsitlemine Jooksu juhtimine
Kutsed Vähem loetav (Callback Hell) Raske Raske
Loodused Parendatud Mugav (.catch) Mugav (.then, .catch)
async/await Parim Mugav (try...catch) Mugav (await)

Praegu on kaasaegsete Node.js rakenduste kõige eelistatum viis kasutada async/await, kuna see on loetav ja mugav. Loodused jäävad olulisteks tööriistadeks, eriti madalama taseme rakendustes. Kutsed kasutatakse vananenud koodis või madala taseme operatsioonides Node.js tuumades.