Sobes.tech
Junior

Sizda asinxron kod bilan ishlashning qanday usullari bor?

sobes.tech AI

AIdan javob

Callbacks, Promises, async/await.

Callbacks: Funktsiyalar, ular boshqa funksiyalarga argument sifatida o'tkaziladi va asinxron operatsiya tugagach chaqiriladi.

Promises: Ob'ektlar, ular callbacklarga nisbatan ko'proq qulaylik bilan asinxronlikni boshqarish imkonini beradi. Ular pending, fulfilled va rejected holatlarda bo'ladi.

// Promise misoli
function asyncOperation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve('Operatsiya muvaffaqiyatli yakunlandi!');
    }, 1000);
  });
}

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

async/await: Promises ustidagi sintaktik shakar, bu asinxron kodni sinxron kodga yaqinlashtiradi va uni o'qishni yaxshilaydi.

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

performAsyncOperation();

Usullarning taqqoslanishi:

Usul O'qilishi / Qo'llab-quvvatlash Xatoliklarni boshqarish Flowni boshqarish
Callbacks Kamroq o'qiladi (Callback Hell) Qiyin Qiyin
Promises Yaxshilangan Quvnoq (.catch) Quvnoq (.then, .catch)
async/await Eng yaxshi Quvnoq (try...catch) Quvnoq (await)

Zamonaviy Node.js ilovalarida eng afzal usul async/await bo'lib, uning o'qilishi va qulayligi uchun. Promises muhim vosita bo'lib qolmoqda, ayniqsa past darajadagi amalga oshirishda. Callbacks eskirgan kodda yoki Node.js yadrosining pastki darajadagi operatsiyalarida ishlatiladi.