Sobes.tech
Junior

Ի՞նչ է տարբերությունը async և await բանալի բառերի միջև։

sobes.tech AI

Պատասխան AI-ից

JavaScript- ում (async և await) և այլ լեզուներում, որոնք աջակցում են ասինխրոնությանը, հիմնական տարբերությունը նրանց նպատակն ու օգտագործումն է:

  • async՝ դա բանալի բառ է, որը օգտագործվում է ֆունկցիան որպես ասինխրոն հայտարարել։ Այդպիսի ֆունկցիան միշտ վերադարձնում է Promise, նույնիսկ եթե ներսում բացահայտորեն Promise չի վերադարձվում։

  • await՝ դա օպերատոր է, որը օգտագործվում է async ֆունկցիաների ներսում՝ սպասելու Promise-ի արդյունքին։ Այն կանգնեցնում է ֆունկցիայի կատարմանը մինչև Promise-ի կատարվելը և վերադարձնում նրա արդյունքը։

Օրինակ՝

async function fetchData() {
  const response = await fetch('https://api.example.com/data');
  const data = await response.json();
  return data;
}

fetchData().then(data => console.log(data));

Այստեղ async հայտարարում է fetchData ֆունկցիան որպես ասինխրոն, իսկ await թույլ է տալիս գրել ասինխրոն կոդ՝ սինխրոն ոճով, սպասելով խոստումների ավարտին։