ระหว่าง Callback Function กับ Promise ในการจัดการการโปรแกรมแบบ Asynchronous ใน JavaScript ข้อเหนือกว่าของ Promise คืออะไร

Promise รองรับการยกเลิกการทำงาน (Cancel)
Promise ช่วยหลีกเลี่ยงปัญหา Callback Hell ด้วยการจัดลำดับการทำงานที่ชัดเจน
Promise ต้องใช้หน่วยความจำน้อยกว่า
Promise ทำงานได้เร็วกว่า Callback

เฉลยอธิบาย

Callback Hell (Pyramid of Doom) เกิดจากการซ้อน Callback หลายชั้น ทำให้โค้ดยากต่อการอ่านและบำรุงรักษา Promise ช่วยให้เขียนโค้ด Asynchronous ได้ชัดเจนขึ้นด้วยการจัดลำดับ.then ที่อ่านได้ง่าย และสามารถใช้ async/await ได้ ตัวเลือก A ผิดเพราะความเร็วไม่ต่างกัน ตัวเลือก C ผิดเพราะไม่เกี่ยวกับหน่วยความจำ ตัวเลือก D ผิดเพราะ Promise ก็ยังต้องจัดการการยกเลิกแยกต่างหาก