เมื่อเปรียบเทียบการใช้ Callback Functions กับ Promises ในการจัดการ Asynchronous Code ใน JavaScript ปัญหาหลักของ Callback ที่ Promises แก้ได้คืออะไร
กCallback Hell (Pyramid of Doom) ที่โค้ดซ้อนกันลึกมาก ทำให้อ่านและดูแลยาก รวมถึงการจัดการข้อผิดพลาดที่ไม่สอดคล้องกัน
ขCallback ทำงานแบบ Synchronous ส่วน Promises ทำงานแบบ Asynchronous เท่านั้น
คCallback ไม่สามารถรับพารามิเตอร์ได้ ส่วน Promises รับพารามิเตอร์ได้
งCallback ทำงานช้ากว่า Promises เสมอในทุกกรณี
เฉลยอธิบาย
ปัญหาหลักของ Callback คือ 'Callback Hell' หรือ 'Pyramid of Doom' ที่เกิดจากการซ้อน Callback หลายชั้น ทำให้โค้ดยากอ่านและดูแล นอกจากนี้การจัดการ Error ต้องทำในแต่ละ Callback แยกกัน Promises แก้ปัญหานี้ด้วย .then() chain และ .catch() สำหรับ Error Handling และ Async/Await ทำให้โค้ด Asynchronous ดูเหมือน Synchronous อีกด้วย ทั้ง Callback และ Promises ทำงาน Asynchronous ได้เหมือนกัน