ใน es6 await ใช้เพื่อรอคำขอแบบอะซิงโครนัสของสัญญา หลังจากการดำเนินการแบบอะซิงโครนัสเสร็จสิ้น การดำเนินการของฟังก์ชัน async จะกลับมาทำงานต่อ คีย์เวิร์ดนี้สามารถใช้ได้ใน "ฟังก์ชัน async" เท่านั้น และไวยากรณ์คือ "async function(){await=การส่งคืนสัญญาแบบอะซิงโครนัสของสัญญา "ask}"
วิธีเริ่มต้นใช้งาน VUE3.0 อย่างรวดเร็ว: เข้าสู่
สภาพแวดล้อมการทำงานของบทช่วยสอนนี้: ระบบ Windows 10, ECMAScript เวอร์ชัน 6.0, คอมพิวเตอร์ Dell G3
คือ:
async function(){await=asynchronous request that return allowance}
await คือตัวดำเนินการที่ใช้ในการสร้างนิพจน์ await ขึ้นอยู่กับว่ากำลังรออะไรอยู่ หากกำลังรออ็อบเจ็กต์ Promise ให้รอให้อ็อบเจ็กต์ Promise แก้ไข จากนั้นรับค่าการแก้ไขเป็นผลลัพธ์ของนิพจน์ await การเรียกใช้ฟังก์ชันซิงค์จะไม่ทำให้เกิดการบล็อก การบล็อกทั้งหมดภายในนั้นถูกห่อหุ้มไว้ในวัตถุ Promise และดำเนินการแบบอะซิงโครนัส
อาจมีนิพจน์ await ในฟังก์ชัน async เมื่อฟังก์ชัน async ถูกดำเนินการ หากพบว่า await การดำเนินการจะถูกระงับก่อน หลังจากการดำเนินการแบบอะซิงโครนัสที่ถูกทริกเกอร์เสร็จสิ้น การดำเนินการของฟังก์ชัน async จะกลับมาทำงานต่อและค่าที่แยกวิเคราะห์ จะถูกส่งกลับ
คีย์เวิร์ด await ใช้ได้เฉพาะในฟังก์ชันอะซิงก์เท่านั้น หากคุณใช้ await นอกฟังก์ชัน async คุณจะได้รับข้อผิดพลาดทางไวยากรณ์เท่านั้น
ค่าที่ส่งคืน
จะส่งกลับผลลัพธ์การประมวลผลของวัตถุ Promise หากสิ่งที่กำลังรอไม่ใช่ออบเจ็กต์ Promise ระบบจะส่งคืนค่านั้นเอง
หาก Promise ถูกส่งไปยังผู้ปฏิบัติงานที่รอ await จะรอให้ Promise ประมวลผลตามปกติและส่งคืนผลการประมวลผล
ตัวอย่างดังต่อไปนี้:
ฟังก์ชัน testAwait (x) { คืนสัญญาใหม่ (แก้ไข => { setTimeout(() => { แก้ไข (x); }, 2000); - - ฟังก์ชัน async สวัสดีAsync() { var x = รอ testAwait ("สวัสดีชาวโลก"); console.log(x); - สวัสดีAsync(); // สวัสดีชาวโลก
ภายใต้สถานการณ์ปกติ คำสั่ง await จะตามด้วยอ็อบเจ็กต์ Promise ซึ่งสามารถตามด้วยค่าอื่นๆ ได้ เช่น สตริง ค่าบูลีน ค่าตัวเลข และฟังก์ชันธรรมดา