Hiểu cuộc gọi lại trong JavaScript
Lệnh gọi lại là các hàm được truyền dưới dạng đối số cho các hàm khác và được thực thi sau đó. Chúng cho phép bạn thực thi một đoạn mã tại một điểm cụ thể trong quá trình thực thi một hàm khác mà không cần phải biết chính xác thời gian hoặc vị trí của mã đó.
Trong JavaScript, lệnh gọi lại thường được sử dụng để xử lý các hoạt động không đồng bộ, chẳng hạn như tạo HTTP yêu cầu hoặc đặt hẹn giờ. Hàm gọi lại được truyền dưới dạng đối số cho hàm chính và được thực thi khi thao tác không đồng bộ hoàn tất.
Dưới đây là ví dụ về cách sử dụng hàm gọi lại trong JavaScript:
```
function makeRequest(callback) {
// Make an Yêu cầu HTTP ở đây
// ...
callback();
}
makeRequest(function() {
console.log("Request Completed");
});
```
Trong ví dụ này, hàm `makeRequest` nhận hàm gọi lại làm đối số và thực thi hàm đó khi yêu cầu HTTP hoàn tất. Hàm gọi lại được truyền dưới dạng đối số cho hàm `makeRequest` và được thực thi khi yêu cầu hoàn tất.
Các cuộc gọi lại cũng có thể được sử dụng với lời hứa, cho phép bạn xử lý các hoạt động không đồng bộ theo cách có cấu trúc hơn. Đây là một ví dụ về việc sử dụng hàm gọi lại với một lời hứa:
```
function makeRequest(callback) {
// Thực hiện một yêu cầu HTTP tại đây
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Yêu cầu đã hoàn thành");
});
```
Trong ví dụ này, hàm `makeRequest` trả về một lời hứa, sau đó được giải quyết bằng hàm gọi lại. Hàm gọi lại được thực thi khi lời hứa được giải quyết, tức là khi yêu cầu HTTP hoàn tất.
Các lệnh gọi lại cũng có thể được sử dụng với các sự kiện, chẳng hạn như nhấp chuột hoặc nhấn phím. Dưới đây là ví dụ về cách sử dụng hàm gọi lại với trình xử lý sự kiện:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
Trong ví dụ này, phương thức `addEventListener` được gọi trên phần tử nút HTML và chuyển hàm gọi lại làm đối số. Khi nhấp vào nút, chức năng gọi lại sẽ được thực thi và ghi thông báo vào bảng điều khiển.