11/08/2018, 20:15

Callbacks trong Javascript

Callbacks là nền tạng của lập trình không đồng bộ Javascript, nếu bạn đã quen làm việc với với Javascript chắc hẳn không còn lạ gì với callbacks. Nhưng đễ rõ hơn có thể nghía qua ví dụ nhỏ dưới đây. Ví dụ này đơn giản chỉ là in ra các phần tử nằm trong mảng. var cities = ['Sài Gòn','Đà ...

Callbacks là nền tạng của lập trình không đồng bộ Javascript, nếu bạn đã quen làm việc với với Javascript chắc hẳn không còn lạ gì với callbacks. Nhưng đễ rõ hơn có thể nghía qua ví dụ nhỏ dưới đây.

  • Ví dụ này đơn giản chỉ là in ra các phần tử nằm trong mảng.
var cities = ['Sài Gòn','Đà Nẵng','Huế','Hà Nội'];
cities.forEach(function callback(city){
    console.log(city);
});

Kết quả:

//Sài Gòn
//Đà Nẵng
//Huế
//Hà Nội

Tóm lại callback là một phần mã thực thi được truyền vào như một tham số của một đoạn mã khác, nó sẽ được gọi lại (thực thi) tại một thời điểm thích hợp. Ở ví dụ trên ta sử dụng callback là một hàm nội tuyến giống phong cách thường sử dụng trong các ứng dụng của Javascript, nhưng không cần khai báo hàm callbacks dưới dạng hàm nội tuyến. Ta sửa ví dụ trên thành:

function callback(city){
    console.log(city);
}
cities.forEach(callback);

Kết quả vẫn như cũ. Vì vậy hàm callbacks của bạn là hàm nội tuyến hay gì đó miễn bạn có một tham chiếu đến một chứng năng thì bạn có thể sử dụng nó như là 1 hàm callback.

0