Lewati ke isi

🔄 Callback di JavaScript

Callback adalah fungsi yang dikirimkan sebagai argumen ke fungsi lain dan dieksekusi setelah suatu proses selesai. Ini merupakan dasar dari asynchronous programming di JavaScript.

Kenapa Callback?

Karena JavaScript bersifat non-blocking dan asynchronous, callback digunakan untuk menangani operasi yang memakan waktu, seperti:

  • Pembacaan file
  • Permintaan HTTP
  • Timeout dan interval

Contoh Sederhana

function halo(nama, callback) {
  console.log("Halo, " + nama);
  callback();
}

function selesai() {
  console.log("Selesai dipanggil.");
}

halo("Marno", selesai);
````

## Callback dengan setTimeout

```javascript
console.log("Mulai");

setTimeout(function() {
  console.log("Tertunda 2 detik");
}, 2000);

console.log("Selesai");

Output:

Mulai
Selesai
Tertunda 2 detik

Callback pada Array

const angka = [1, 2, 3, 4];

angka.forEach(function(nilai) {
  console.log(nilai);
});

Callback Hell 😵

Terlalu banyak callback bersarang dapat membuat kode susah dibaca:

loginUser("user", function(user) {
  ambilData(user.id, function(data) {
    simpanData(data, function(res) {
      console.log("Selesai", res);
    });
  });
});

Solusi:

  • Gunakan Promise
  • Gunakan Async/Await

📌 Tips:

  • Callback sebaiknya ditulis sebagai named function jika akan digunakan ulang.
  • Gunakan teknik modern seperti Promise atau Async/Await untuk kode lebih bersih.