Operasi Asinkron Mengirimkan Hasil ke Callback di JavaScript
Sekarang anggaplah operasi asinkron setelah penyelesaiannya tidak menampilkan apa pun ke konsol, tetapi mendapatkan suatu hasil. Anggaplah ini adalah array dengan data, yang, misalnya, bisa diperoleh melalui AJAX. Tetapi karena kita belum bisa bekerja dengan AJAX, maka kita akan mensimulasikannya saja:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // array dengan hasil
}, 3000);
}
Mari kita buat agar array dengan hasil tersebut dikirimkan ke parameter callback:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // mengirimkan hasil sebagai parameter
}, 3000);
}
Sekarang, saat meneruskan callback ke pemanggilan fungsi
make kita dapat menuliskan parameter di dalamnya
- dan ke parameter ini akan dimasukkan hasil dari operasi
asinkron:
make(function(res) {
console.log(res); // array kita
});
Lengkapi kode callback sehingga kode tersebut menemukan jumlah elemen array dengan hasil.