Memahami Panggilan Balik dalam JavaScript
Panggilan balik ialah fungsi yang dihantar sebagai argumen kepada fungsi lain, dan dilaksanakan pada masa kemudian. Ia membenarkan anda melaksanakan sekeping kod pada titik tertentu dalam pelaksanaan fungsi lain, tanpa perlu mengetahui masa atau lokasi yang tepat bagi kod tersebut.
Dalam JavaScript, panggilan balik biasanya digunakan untuk mengendalikan operasi tak segerak, seperti membuat HTTP meminta atau menetapkan pemasa. Fungsi panggil balik diluluskan sebagai hujah kepada fungsi utama, dan dilaksanakan apabila operasi tak segerak selesai.
Berikut ialah contoh penggunaan fungsi panggil balik dalam JavaScript:
```
function makeRequest(callback) {
// Buat Permintaan HTTP di sini
// ...
panggil balik();
}
makeRequest(function() {
console.log("Permintaan selesai");
});
```
Dalam contoh ini, fungsi `makeRequest` mengambil fungsi panggil balik sebagai hujah, dan melaksanakan fungsi itu apabila permintaan HTTP selesai. Fungsi panggil balik diluluskan sebagai hujah kepada fungsi `makeRequest`, dan dilaksanakan apabila permintaan selesai.
Panggil balik juga boleh digunakan dengan janji, yang membolehkan anda mengendalikan operasi tak segerak dengan cara yang lebih berstruktur. Berikut ialah contoh menggunakan fungsi panggil balik dengan promise:
```
function makeRequest(callback) {
// Buat permintaan HTTP di sini
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Permintaan selesai");
});
```
Dalam contoh ini, fungsi `makeRequest` mengembalikan janji, yang kemudiannya diselesaikan dengan fungsi panggil balik. Fungsi panggil balik dilaksanakan apabila janji diselesaikan, iaitu apabila permintaan HTTP selesai.
Panggil balik juga boleh digunakan dengan acara, seperti klik tetikus atau tekanan kekunci. Berikut ialah contoh menggunakan fungsi panggil balik dengan pendengar acara:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
Dalam contoh ini, kaedah `addEventListener` dipanggil pada elemen butang HTML dan menghantar fungsi panggil balik sebagai hujah. Apabila butang diklik, fungsi panggil balik dilaksanakan dan log mesej ke konsol.