# Callback คืออะไร? ประโยชน์และการใช้งานที่ใช่ในชีวิตการเขียนโปรแกรม
หากเรามองโลกการเขียนโค้ดเหมือนเรื่องราวในหนังสือนิทาน แต่ละฟังก์ชันหรือคำสั่งก็เหมือนตัวละครที่ช่วยกันเล่าเรื่อง และในบรรดาตัวละครเหล่านั้น มีตัวหนึ่งที่เรียกว่า "Callback" ที่มักเข้ามามีบทบาทสำคัญในจุดที่ไม่คาดคิด! ลองนึกภาพ Callback เหมือนเจ้าเพื่อนที่เราจะต้องกิดร้องเมื่อเราทำงานเสร็จแล้ว หรือเมื่อเราต้องการความช่วยเหลือตอนเจอกับสถานการณ์ที่เราคาดการณ์ไม่ได้ล่วงหน้านั่นเอง
Callback ในทางโปรแกรมมิ่ง ก็เหมือนกับเพื่อนที่คอยช่วยเราตอบโต้หรือ "ตอบกลับ" เมื่อเราบอกเขาว่า "เฮ้ เพื่อน จำเรื่องนี้ไว้นะ เมื่อไหร่ที่ฉันทำ X เสร็จฉันจะมาหาเธอ!" และมันจะได้รับการเรียกใช้ หรือ "callback" เมื่อภารกิจที่เราได้กำหนดไว้นั้นสำเร็จเสร็จสิ้นลง
ในโลกของการเขียนโปรแกรม เราไม่สามารถมีความแน่นอนได้เสมอไปว่างานหนึ่งจะสำเร็จเมื่อไหร่ หรือจะต้องรอเงื่อนไขใดเงื่อนไขหนึ่งก่อนหรือไม่ นั่นเป็นเหตุผลว่าทำไม Callback จึงมีความสำคัญ เพราะมันช่วยให้โปรแกรมของเราสามารถจัดการกับสถานการณ์ที่ไม่แน่นอนเหล่านี้ได้
เช่นเดียวกับตัวอย่างที่นำมาให้ สมมติว่าคุณเป็นเด็กที่ได้ใส่ขนมไปในไมโครเวฟและกดปุ่มเริ่ม คุณจะไม่ยืนรออยู่หน้าไมโครเวฟนั้น แต่คุณจะไปทำกิจกรรมอื่น และเมื่อไมโครเวฟปิดเมื่อการทำงานเสร็จสิ้น Callback จะเป็นเสียงดัง "ปิ๊ง!" ที่บอกคุณว่าขนมพร้อมที่จะกินได้แล้ว
ด้วยวิธีการนี้ Callback ก็ช่วยลดระยะเวลารอ และทำให้โปรแกรมของเราทำงานได้อย่างมีประสิทธิภาพ และยืดหยุ่นต่อเหตุการณ์ต่างๆ ที่อาจจะเกิดขึ้น
ทุกครั้งที่เรามีกระบวนการที่จำเป็นต้องรอ การเชื่อมต่อฐานข้อมูลที่อาจใช้เวลา, การพิมพ์ข้อความไปยังหน้าเว็บที่ต้องรอจนกว่าจะเรียบร้อย, หรือแม้แต่การโหลดภาพที่อาจใช้เวลาขึ้นอยู่กับขนาดของไฟล์ ในกรณีเหล่านี้ Callback ก็มีประโยชน์ในการแจ้งให้รู้ว่า "โอเค เราทำเสร็จแล้ว ทำต่อไป!"
ลองมาดูตัวอย่างเพื่อทำความเข้าใจการทำงานของ Callback ผ่านภาษาจาวาสคริปต์(JavaScript)กับฟังก์ชันที่เรียกว่า `setTimeout`, ที่เป็นการตั้งเวลาการทำงานของฟังก์ชันบางอย่าง:
function showNotification(message) {
alert('แสดงข้อความ: ' + message);
}
// กำหนดฟังก์ชัน showNotification ให้เป็น Callback
setTimeout(showNotification, 3000, 'สวัสดี! ขนมของคุณพร้อมแล้ว');
ที่นี่, เรากำหนดให้ `showNotification` เป็น Callback ซึ่งจะถูกเรียกหลังจากเวลาผ่านไป 3 วินาที (3000 มิลลิวินาที) และจะแสดงข้อความ "สวัสดี! ขนมของคุณพร้อมแล้ว" บนหน้าจอ
ผ่านตัวอย่างนี้ เราสามารถเห็นว่า Callback ช่วยให้เราสามารถโค้ดต่อไปข้อความที่เราต้องการแสดงบนหน้าจอหลังจากที่การเรียกเวลานับถอยหลังเสร็จสิ้น ซึ่งเปรียบเหมือนเด็กที่ตั้งนาฬิกาปลุกเพื่อขึ้นบอกเมื่อถึงเวลาที่ต้องทำอะไรสักอย่าง
ในตอนท้าย การเรียนรู้ว่า Callback ทำงานอย่างไรและใช้มันตอนไหนเป็นสิ่งสำคัญในการพัฒนาซอฟต์แวร์ มันเป็นเหมือนเครื่องมือที่ช่วยให้การเขียนโค้ดของเรามีความยืดหยุ่นและสามารถตอบสนองต่อการเปลี่ยนแปลงของโปรแกรมที่เราไม่สามารถคาดการณ์ได้ ดังนั้น หากคุณสนใจที่จะไขว่คว้าความรู้ที่ลึกซึ้งยิ่งขึ้นและต้องการตกแต่งเรื่องราวการเขียนโค้ดของคุณให้น่าสนใจและมีประสิทธิภาพมากขึ้น การเข้าใจพื้นฐานเช่นงานฟังก์ชั่น Callback นี้ถือเป็นก้าวที่สำคัญ และอย่าลืม ทุกครั้งที่คุณรู้สึกว่าสิ่งนี้เป็นทางด้านวิชาการที่น่าสนใจ มีสถานที่ที่เต็มไปด้วยคนที่พร้อมจะเรียนรู้และแบ่งปันความรู้นั้น และนั่นคือการเข้าร่วมกับโปรแกรมเมอร์อื่นๆ ในสถานที่แห่งการเรียนรู้ เหมือนที่ Expert-Programming-Tutor (EPT) ให้พื้นที่แห่งการเติบโตแก่คุณ.
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM