📞 What is Callback? 🔙
Callback function ใน JavaScript คือการ pass function ไปเป็น argument ให้กับ function อีกตัวหนึ่ง และเมื่อ function นั้นทำงานเสร็จแล้ว จะเรียกใช้ function ที่ถูก pass เข้าไปให้ทำงานต่อ
ว่ากันง่ายๆ คือ การเอา functionA นึงเข้าไปทำงานใน functionB นึง ซึ่งเมื่อ functionB ทำงานเสร็จ ก็จะเรียกใช้งาน functionA ที่ถูกส่งเข้าไป ถ้ายังงงๆ มาดูตัวอย่างกันเลยดีกว่า
อธิบาย code ด้านบนกันหน่อย
- เราสร้าง function ชื่อ
sayHi
และsayBye
ขึ้นมา โดยทั้งสอง function นี้จะรับ argument ชื่อname
และแสดงผลออกมาเป็นHi ${name}
และBye ${name}
ตามลำดับ - เราสร้าง function ชื่อ
saySomething
ขึ้นมา โดย function นี้จะรับ argument ชื่อname
และcallback
และเมื่อ function นี้ทำงานเสร็จ ก็จะเรียกใช้งานcallback
ที่ถูกส่งเข้าไป โดยส่ง argument ชื่อ name ไปด้วย - เราเรียกใช้งาน
saySomething
โดยส่ง argument ชื่อJohn
และsayHi
ไปด้วย ซึ่งเมื่อsaySomething
ทำงานเสร็จ ก็จะเรียกใช้งานsayHi
โดยส่ง argument ชื่อJohn
ไปด้วย ซึ่งผลลัพธ์ที่ได้ก็คือHi John
💯 Conclusion
ผมสรุปทำความเข้าใจง่ายๆ คือ เดี๋ยวผม (function) ทำงานเสร็จ กลับมาเรียก (callback) นะ