Middle
Фарқи байни Promise.all ва Promise.any чист?
sobes.tech AI
Ҷавоб аз AI
Promise.all คอยให้ ทุก สัญญาในวัตถุ iterable เสร็จสมบูรณ์ หากทุกสัญญาสำเร็จ มันจะส่งคืนสัญญาที่แก้ไขด้วยอาร์เรย์ของผลลัพธ์ในลำดับเดียวกับสัญญาเข้า หากสัญญาอย่างน้อยหนึ่งรายการถูกปฏิเสธ มันจะส่งคืนสัญญาที่ถูกปฏิเสธด้วยข้อผิดพลาดของสัญญาที่ถูกปฏิเสธเป็นครั้งแรก
Promise.any คอยให้ ใดก็ได้ สัญญาในวัตถุ iterable เสร็จสมบูรณ์ ทันทีที่สัญญาใดก็ได้สำเร็จ มันจะส่งคืนสัญญาที่แก้ไขด้วยค่านั้น หากสัญญาทั้งหมดถูกปฏิเสธ มันจะส่งคืนสัญญาที่ถูกปฏิเสธด้วย AggregateError ซึ่งประกอบด้วยอาร์เรย์ของข้อผิดพลาดของสัญญาทั้งหมดที่ถูกปฏิเสธ
การเปรียบเทียบ:
| เกณฑ์ | Promise.all | Promise.any |
|---|---|---|
| เงื่อนไขความสำเร็จ | สัญญาทั้งหมดสำเร็จสมบูรณ์ | สัญญาใดก็ได้สำเร็จสมบูรณ์ |
| เงื่อนไขข้อผิดพลาด | สัญญาใดก็ได้ถูกปฏิเสธ | สัญญาทั้งหมดถูกปฏิเสธ |
| ผลลัพธ์เมื่อสำเร็จ | อาร์เรย์ของผลลัพธ์ (ในลำดับเดียวกับสัญญาเข้า) | ค่าของสัญญาที่สำเร็จเป็นครั้งแรก |
| ผลลัพธ์เมื่อผิดพลาด | ข้อผิดพลาดของสัญญาที่ถูกปฏิเสธเป็นครั้งแรก | AggregateError พร้อมอาร์เรย์ของข้อผิดพลาดของสัญญาที่ถูกปฏิเสธทั้งหมด |
| การใช้งาน | ขึ้นอยู่กับการดำเนินการอะซิงโครนัสทั้งหมด | ขึ้นอยู่กับการดำเนินการอะซิงโครนัสใดก็ได้ |