Callback là một hàm được truyền vào một hàm khác như một tham số. Hàm nhận được callback sẽ gọi hàm callback này sau khi hoàn thành một tác vụ nào đó. Điều này cho phép chúng ta kiểm soát thứ tự thực thi của các tác vụ và xử lý các tác vụ bất đồng bộ một cách hiệu quả.
Hãy xem một ví dụ đơn giản về việc sử dụng callback trong JavaScript:
function fetchData(callback) {
// Giả định việc lấy dữ liệu từ API mất 2 giây
setTimeout(function() {
const data = 'Dữ liệu từ API';
callback(data);
}, 2000);
}
function processResponse(response) {
console.log('Xử lý dữ liệu:', response);
}
fetchData(processResponse);
Trong ví dụ trên, chúng ta có một hàm fetchData
để lấy dữ liệu từ một API. Hàm này sử dụng setTimeout
để giả định việc lấy dữ liệu mất 2 giây. Sau khi lấy dữ liệu thành công, hàm này sẽ gọi hàm callback processResponse
và truyền dữ liệu đã lấy về vào.
Khi chúng ta gọi hàm fetchData
và truyền hàm processResponse
làm callback, hàm fetchData
sẽ hoàn thành việc thực thi sau 2 giây và gọi hàm callback processResponse
để xử lý dữ liệu đã lấy về.