Memahami Callback di JavaScript
Callback adalah fungsi yang diteruskan sebagai argumen ke fungsi lain, dan dieksekusi di lain waktu. Mereka memungkinkan Anda untuk mengeksekusi sepotong kode pada titik tertentu dalam eksekusi fungsi lain, tanpa harus mengetahui waktu atau lokasi pasti dari kode tersebut.
Dalam JavaScript, callback biasanya digunakan untuk menangani operasi asinkron, seperti membuat HTTP meminta atau menyetel pengatur waktu. Fungsi callback diteruskan sebagai argumen ke fungsi utama, dan dieksekusi ketika operasi asinkron selesai.
Berikut adalah contoh penggunaan fungsi callback dalam JavaScript:
```
function makeRequest(callback) {
// Make an Permintaan HTTP di sini
// ...
callback();
}
makeRequest(function() {
console.log("Permintaan selesai");
});
```
Dalam contoh ini, fungsi `makeRequest` mengambil fungsi panggilan balik sebagai argumen, dan menjalankan fungsi tersebut ketika permintaan HTTP selesai. Fungsi callback diteruskan sebagai argumen ke fungsi `makeRequest`, dan dieksekusi ketika permintaan selesai.
Callbacks juga dapat digunakan dengan janji, yang memungkinkan Anda menangani operasi asinkron dengan cara yang lebih terstruktur. Berikut contoh penggunaan fungsi panggilan balik dengan janji:
```
function makeRequest(callback) {
// Buat permintaan HTTP di sini
// ...
Promise.resolve().then(callback);
}
makeRequest(function() {
console.log("Permintaan selesai");
});
```
Dalam contoh ini, fungsi `makeRequest` mengembalikan sebuah janji, yang kemudian diselesaikan dengan fungsi panggilan balik. Fungsi panggilan balik dijalankan ketika janji diselesaikan, yaitu ketika permintaan HTTP selesai.
Panggilan balik juga dapat digunakan dengan kejadian, seperti klik mouse atau penekanan tombol. Berikut ini contoh penggunaan fungsi panggilan balik dengan pendengar peristiwa:
```
document.getElementById("myButton").addEventListener("click", function() {
console.log("Button clicked");
} );
```
Dalam contoh ini, metode `addEventListener` dipanggil pada elemen tombol HTML, dan meneruskan fungsi callback sebagai argumen. Ketika tombol diklik, fungsi panggilan balik dijalankan, dan mencatat pesan ke konsol.