Sobes.tech
Middle

Фарқи байни Promise.all ва Promise.any чист?

sobes.tech AI

Ҷавоб аз AI

Promise.all คอยให้ ทุก สัญญาในวัตถุ iterable เสร็จสมบูรณ์ หากทุกสัญญาสำเร็จ มันจะส่งคืนสัญญาที่แก้ไขด้วยอาร์เรย์ของผลลัพธ์ในลำดับเดียวกับสัญญาเข้า หากสัญญาอย่างน้อยหนึ่งรายการถูกปฏิเสธ มันจะส่งคืนสัญญาที่ถูกปฏิเสธด้วยข้อผิดพลาดของสัญญาที่ถูกปฏิเสธเป็นครั้งแรก

Promise.any คอยให้ ใดก็ได้ สัญญาในวัตถุ iterable เสร็จสมบูรณ์ ทันทีที่สัญญาใดก็ได้สำเร็จ มันจะส่งคืนสัญญาที่แก้ไขด้วยค่านั้น หากสัญญาทั้งหมดถูกปฏิเสธ มันจะส่งคืนสัญญาที่ถูกปฏิเสธด้วย AggregateError ซึ่งประกอบด้วยอาร์เรย์ของข้อผิดพลาดของสัญญาทั้งหมดที่ถูกปฏิเสธ

การเปรียบเทียบ:

เกณฑ์ Promise.all Promise.any
เงื่อนไขความสำเร็จ สัญญาทั้งหมดสำเร็จสมบูรณ์ สัญญาใดก็ได้สำเร็จสมบูรณ์
เงื่อนไขข้อผิดพลาด สัญญาใดก็ได้ถูกปฏิเสธ สัญญาทั้งหมดถูกปฏิเสธ
ผลลัพธ์เมื่อสำเร็จ อาร์เรย์ของผลลัพธ์ (ในลำดับเดียวกับสัญญาเข้า) ค่าของสัญญาที่สำเร็จเป็นครั้งแรก
ผลลัพธ์เมื่อผิดพลาด ข้อผิดพลาดของสัญญาที่ถูกปฏิเสธเป็นครั้งแรก AggregateError พร้อมอาร์เรย์ของข้อผิดพลาดของสัญญาที่ถูกปฏิเสธทั้งหมด
การใช้งาน ขึ้นอยู่กับการดำเนินการอะซิงโครนัสทั้งหมด ขึ้นอยู่กับการดำเนินการอะซิงโครนัสใดก็ได้