Kembalikan Pemrograman JavaScript

"Saya akan panggil kembali nanti!"

Pengembalian (callback) adalah fungsi yang disampaikan sebagai parameter kepada fungsi lain

Teknik ini memungkinkan fungsi memanggil fungsi lain

Fungsi pengembalian dapat dijalankan setelah fungsi lain selesai

Sequens Fungsi

Fungsi JavaScript dieksekusi berdasarkan urutan pemanggilannya, bukan urutan pengaturannya.

Contoh ini akan menampilkan "Goodbye":

contoh

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
myFirst();
mySecond();

Coba sendiri

Contoh ini akan menampilkan "Hello":

contoh

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
mySecond();
myFirst();

Coba sendiri

Kontrol Urutan

Kali ini, Anda ingin mengawasi kapan fungsi dieksekusi.

Dengan contoh, Anda akan melakukan penghitungan dan menampilkan hasil.

Anda dapat memanggil fungsi penghitungan (myCalculator) untuk menyimpan hasil, lalu panggil fungsi lain (myDisplayer) untuk menampilkan hasil:

contoh

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
  let sum = num1 + num2;
  return sum;
}
let result = myCalculator(5, 5);
myDisplayer(result);

Coba sendiri

atau, Anda dapat memanggil fungsi penghitungan (myCalculator), dan memanggil fungsi penghitungan untuk memanggil fungsi tampilan (myDisplayer)

contoh

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
  let sum = num1 + num2;
  myDisplayer(sum);
}
myCalculator(5, 5);

Coba sendiri

Masalah di contoh pertama adalah Anda harus memanggil dua fungsi untuk menampilkan hasil.

Masalah di contoh kedua adalah Anda tidak dapat menghentikan fungsi penghitungan untuk menampilkan hasil.

Saat ini adalah waktu untuk memperkenalkan pengembalian.

Kembalikan Pemrograman JavaScript

Pengembalian (callback) adalah fungsi yang disampaikan sebagai parameter kepada fungsi lain.

Dengan pengembalian, Anda dapat memanggil fungsi penghitungan melalui pengembalian:myCalculator), dan setelah penghitungan selesai, jalankan fungsi balik penghitungan:

contoh

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}
myCalculator(5, 5, myDisplayer);

Coba sendiri

Di contoh di atas, myDisplayer adalah nama fungsi.

dipergunakan sebagai parameter untuk myCalculator().

Ketika Anda mengirimkan fungsi sebagai parameter, ingat jangan gunakan tanda kurung.

Benar: myCalculator(5, 5, myDisplayer);

Kesalahan: myCalculator(5, 5, myDisplayer());

Kapan menggunakan kembalikan?

Contoh di atas bukan yang sangat menarik.

Mereka disederhanakan, untuk menggambarkan sintaks kembalikan.

Kerangka kerja yang benar-benar menarik adalah fungsi asinkron, di mana fungsi satu harus menunggu fungsi lain (contoh menunggu penggunaan berkas).

Bab berikutnya akan mengenalkan fungsi asinkron.