Sobes.tech
Junior — Middle

JavaScriptте асинхрондук код менен иштөөдө async/await жана Promise курулмаларынын айырмасы эмнеде?

sobes.tech AI

AIден жооп

Promise — бул объект, ал эми алгачкы натыйжасын көрсөтүүчү асинхрондук операциянын натыйжасын көрсөтөт, ал келечекте ишке ашырылышы мүмкүн же четке кагылышы мүмкүн. Ал then() жана catch() методдору аркылуу иштетүүчүлөрдү каттоого мүмкүндүк берет.

async/await — Promise үстүндөгү синтаксистик шекер, ал асинхрондук кодду синхрон стилине жазууга мүмкүндүк берет, аны окуу жана ката табуу үчүн жеңилдетет.

Негизги айырмачылыктар:

  • Promise натыйжалар жана каталар үчүн then/catch чынжырларын талап кылат.
  • async/await — Promise натыйжасын күтүүгө await ачкыч сөздөрүн колдонууга мүмкүндүк берет.

Мисал:

// Promise
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

// async/await
async function fetchData() {
  try {
    const response = await fetch(url);
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}
fetchData();

Мындайча айтканда, async/await Promise менен иштөө иштерин жөнөкөйлөтүп, кодду көбүрөөк сызыктуу жана түшүнүктүү кылат.