Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ฟังก์ชัน Async/Await ใน JavaScript


อ็อบเจ็กต์ Promise แสดงถึงความสมบูรณ์ในที่สุด (หรือความล้มเหลว) ของการดำเนินการแบบอะซิงโครนัสและค่าผลลัพธ์ ฟังก์ชัน Async กำลังรอและตัวดำเนินการทำงานตามสัญญา

ฟังก์ชัน Async/await ช่วยให้เราเขียนโค้ดที่ดูซิงโครนัสได้อย่างสมบูรณ์ในขณะที่ทำงานแบบ async อยู่เบื้องหลัง

ตัวอย่างเช่น สมมติว่าเรามีฟังก์ชันแบบอะซิงโครนัสที่ส่งกลับสัญญา −

// Promise that resolves to 100 after 2sec
function getHundred() {
   return new Promise(resolve => {
      setTimeout(() => {
         resolve(100);
      },    2000);
   });
}

เราต้องการใช้สิ่งนี้ในฟังก์ชัน แต่เราต้องรอค่าที่ส่งคืน โดยใช้การเรียกกลับเราสามารถทำเช่นนี้ได้ -

function useGetHundred() {
   getHundred().then((value) => {
      console.log(value);
   })
}

แต่เราจำเป็นต้องสร้างการเรียกกลับเพื่อดำเนินการกับข้อมูลที่ส่งคืนโดยไม่จำเป็น เราสามารถใช้ async await เพื่อทำให้โค้ดนี้ง่ายขึ้น -

ตัวอย่าง

// Declare an async function. When this function is called, it'll also return a Promise
// But inside this function any async calls can be made synchronous using await keyword
async function useGetHundredAsync() {
   // wait for the getHundred promise to resolve then store its value in value.
   let value = await getHundred();
   console.log(value)
}

ผลลัพธ์

100