Callback là một khái niệm không mới trong lập trình. Tuy nhiên, nó là một trong những khái niệm khá lằng ngoằng và dễ nhầm lẫn. Vì vậy để dễ hiểu hơn về callback trong bài hôm nay chúng ta sẽ đề cập đến callback trong javascript vì calback trong javascript là đơn giản nhất
Đầu tiên, xin nhắc lại đôi chút về khá niệm callback:
A callback is a piece of executable code that is passed as
an argument to other code, which is expected to call back
(execute) the argument at some convenient time.
Nói một cách dễ hiểu, callback tức là ta truyền một đoạn code (Hàm A) này vào một đoạn code khác (Hàm B). Tới một thời điểm nào đó, Hàm A sẽ được hàm B gọi lại (callback).
Tới đây các bạn vẫn chưa hiểu? Chưa hiểu là điều hoàn toàn bình thường vì ngày xưa khi nghe các giảng viên dạy cái này mình cũng ko hiểu gì cả =))). Để dễ hiểu hơn chúng ta đến với ví dụ của callback trong jQuery các bạn nhé
Bạn có việc phải đi công tác xa nhà. Bạn dặn người nhà, trong thời gian bạn đi, nếu như có ai giao hàng tới, hãy đem hàng đem cho hàng xóm. Hàm A ở đây là việc đem hàng cho hàng xóm:
function demHang(hang) {
return console.log("Đem hang " + hang);
}
Hàm B ở đây là việc người ở nhà nhận hàng. Ta truyền hàm A vào như 1 argument cho hàm B, tại 1 thời điểm nào đó, hàm B sẽ gọi hàm A (Tức là người nhà mang hàng cho hàng xóm).
function oNha(nguoinha, demHang) {
var hang = "Hàng đã nhận";
demHang(hang);
}
Như các bạn thấy, hàm A được truyền vào như 1 argument. Các bạn biết jQuery có thể sử dụng rất nhiều callback mà ko biết
Unpublished comment
Viết câu trả lời