วีดีโอ: เป็นสัญญา async?
2024 ผู้เขียน: Lynn Donovan | [email protected]. แก้ไขล่าสุด: 2023-12-15 23:54
async ฟังก์ชั่นใช้โดยปริยาย สัญญา เพื่อส่งคืนผลลัพธ์ แม้ว่าคุณจะไม่คืน สัญญา อย่างชัดเจน async ฟังก์ชั่นทำให้แน่ใจว่ารหัสของคุณถูกส่งผ่าน a สัญญา . รอเพียงบล็อกการเรียกใช้โค้ดภายใน async การทำงาน. ทำให้แน่ใจว่าบรรทัดถัดไปจะถูกดำเนินการเมื่อ.เท่านั้น สัญญา แก้ไข
ดังนั้น async จะคืนสัญญาหรือไม่?
อะซิงโครนัส ทำหน้าที่ คำว่า “ async ” ก่อนที่ฟังก์ชั่นจะหมายถึงสิ่งง่าย ๆ อย่างหนึ่ง: ฟังก์ชั่นเสมอ กลับคำสัญญา . ค่าอื่นๆ จะถูกห่อด้วยค่าที่แก้ไขแล้ว สัญญา โดยอัตโนมัติ ดังนั้น, async ทำให้มั่นใจได้ว่าฟังก์ชัน กลับคำสัญญา และห่อไม่ใช่ สัญญา ในนั้น.
รู้ยัง ฉันจะใช้ async กับคำสัญญาได้อย่างไร ถ้าคุณ ใช้ NS async คีย์เวิร์ดก่อนนิยามฟังก์ชัน คุณก็ทำได้ ใช้ wait ภายในฟังก์ชัน เมื่อคุณ รอคอย NS สัญญา , ฟังก์ชั่นจะหยุดชั่วคราวในลักษณะที่ไม่ปิดกั้นจนกว่า สัญญา ตั้งรกราก ถ้า สัญญา เติมเต็มคุณจะได้รับคุณค่ากลับคืนมา ถ้า สัญญา ปฏิเสธ ค่าที่ถูกปฏิเสธจะถูกส่งออกไป
นอกจากนี้ Promise เป็นแบบซิงโครนัสหรือแบบอะซิงโครนัสหรือไม่?
สัญญา ไม่แน่ ซิงโครนัสหรืออะซิงโครนัส ในและของตัวเอง เมื่อคุณสร้าง สัญญา การโทรกลับที่คุณส่งไปจะถูกดำเนินการทันที และไม่มีโค้ดอื่นใดที่สามารถเรียกใช้ได้จนกว่าฟังก์ชันนั้นจะได้ผล
อะซิงโครนัสทำหน้าที่อะไร?
NS async การประกาศฟังก์ชันกำหนด an แบบอะซิงโครนัส ฟังก์ชัน - ฟังก์ชันที่ส่งคืนอ็อบเจ็กต์ AsyncFunction อะซิงโครนัส ฟังก์ชันทำงานในลำดับที่แยกจากกันจากโค้ดที่เหลือผ่านทางวนรอบเหตุการณ์ โดยส่งกลับ Promise โดยปริยายเป็นผลลัพธ์
แนะนำ:
ฉันสามารถใช้ await โดยไม่มี async ได้หรือไม่?
ไม่ ตัวดำเนินการ await เหมาะสมในฟังก์ชัน async เท่านั้น
Parallel ForEach async เป็นแบบขนานหรือไม่
แนวคิดทั้งหมดที่อยู่เบื้องหลัง Parallel ForEach() คือคุณมีชุดของเธรดและแต่ละเธรดประมวลผลส่วนหนึ่งของคอลเล็กชัน อย่างที่คุณสังเกตเห็น วิธีนี้ใช้ไม่ได้กับ async - await ซึ่งคุณต้องการปล่อยเธรดในช่วงเวลาของการเรียก async ForEach() ซึ่งรองรับงานแบบอะซิงโครนัสได้ดี
Async กำลังรอ JavaScript คืออะไร?
โดยสรุป async/await เป็นไวยากรณ์ที่สะอาดกว่าในการเขียนโค้ด Javascript แบบอะซิงโครนัส ช่วยเพิ่มความสามารถในการอ่านและการไหลของโค้ดของคุณ สิ่งที่ควรทราบขณะใช้ async/await: ฟังก์ชัน Async ส่งคืนคำสัญญา สามารถใช้ Await ได้ภายในบล็อก async เท่านั้น
สคริปต์ async เลื่อนคืออะไร?
ความแตกต่างระหว่าง async และ defer จะอยู่ที่ศูนย์กลางเมื่อมีการเรียกใช้สคริปต์ สคริปต์ async แต่ละตัวจะทำงานในโอกาสแรกหลังจากดาวน์โหลดเสร็จและก่อนเหตุการณ์โหลดของหน้าต่าง ในขณะที่สคริปต์การเลื่อนเวลารับประกันว่าจะดำเนินการตามลำดับที่เกิดขึ้นในหน้า
เหตุใดจึงต้องใช้ async รอคอยใน JavaScript
ฟังก์ชัน async ใช้ Promise โดยปริยายเพื่อส่งคืนผลลัพธ์ แม้ว่าคุณจะไม่ส่งคืนสัญญาที่มีฟังก์ชัน async อย่างชัดเจน คุณก็มั่นใจได้ว่าโค้ดของคุณจะถูกส่งผ่านสัญญา await บล็อกการเรียกใช้โค้ดภายในฟังก์ชัน async ซึ่งมัน (รอคำสั่ง) เป็นส่วนหนึ่ง รอคอยอยู่เสมอสำหรับสัญญาเดียว