Trong lập trình web với JavaScript, Callback được hiểu là việc truyền một function như một tham số đến một function khác và đợi để được gọi cho xử lý các vấn đề đồng bộ theo trình tự nhất định.
Nếu các bạn vẫn cảm thấy khó hiểu với thuật ngữ này hay chưa biết cách làm như thế nào để áp dụng nó vào thực hành. Các bạn có thể đọc thêm những chia sẻ dưới đây của anh về Callback để hiểu rõ hơn. Trong bài viết anh sẽ giải thích cho các bạn hiểu được Callback là gì? Và hướng dẫn sử dụng Callback trong lập trình web thông qua 2 ví dụ minh hoạ ở cuối bài.
Khái niệm callback có nghĩa là ta truyền một function như một tham số đến một function khác.
Thông thường chúng ta thấy khi khai báo hàm có tham số ví dụ:
1
2
3
4
function getData(x, y) {
// code logic tại đây
}
Còn đối với Callback là ta truyền vào một function chứ không phải kiểu dữ liệu như ví dụ dưới đây.
1
2
3
4
5
6
7
8
9
function getData(x, y, callback){
document.write(" The multiplication of the numbers " + x + " and " + y + " is: " + (x*y) + "<br><br>" );
callback();
}
function showData(){
document.write(' This is the showData() method execute after the completion of getData() method.');
}
getData(20, 30, showData);
Như vậy callback mình sử dụng như làm tuần tự các công việc một cách đồng bộ. Có nghĩa là khi làm xong việc thứ nhất thì chạy tiếp các công việc thứ 2 cho mình.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<head>
</head>
<body>
<h1> Hello World :) :) </h1>
<h2> This is the javaTpoint.com </h2>
<script>
function showData(name, amt) {
alert(' Hello ' + name + '\n Your entered amount is ' + amt);
}
function getData(callback) {
var name = prompt(" Welcome to the javaTpoint.com \n What is your name?");
var amt = prompt(" Enter some amount...");
callback(name, amt);
}
getData(showData);
</script>
</body>
</html>
Tóm lại chúng ta sử dụng callback khi chúng ta muốn các công việc được xử lý đồng bộ theo trình tự nhất định.