Apa itu panggilan balik
Salinan kode adalah sebagai berikut:
Fungsi panggilan balik adalah fungsi yang dipanggil melalui penunjuk fungsi. Jika Anda melewati pointer (alamat) fungsi sebagai argumen ke fungsi lain, ketika pointer ini digunakan untuk memanggil fungsi yang ditunjukkannya, kami katakan ini adalah fungsi callback. Fungsi callback tidak dipanggil langsung oleh pelaksana fungsi, tetapi dipanggil oleh pihak lain ketika peristiwa atau kondisi tertentu terjadi, dan digunakan untuk menanggapi peristiwa atau kondisi tersebut.
Penjelasan ini tampaknya rumit, jadi saya menemukan penjelasan yang lebih baik tentang Zhihu
Salinan kode adalah sebagai berikut:
Anda pergi ke toko untuk membeli barang, dan hal -hal yang Anda inginkan tidak tersedia, jadi Anda meninggalkan nomor telepon Anda dengan petugas. Setelah beberapa hari, toko memiliki barang, dan petugas akan menghubungi Anda, dan kemudian Anda pergi ke toko untuk mengambil barang setelah Anda menerima panggilan. Dalam contoh ini, nomor telepon Anda disebut fungsi callback, dan Anda meninggalkan telepon ke petugas, yang disebut fungsi panggilan balik pendaftaran. Toko kemudian memiliki stok, yang disebut acara yang memicu asosiasi callback. Petugas memanggil Anda, yang disebut fungsi callback, dan ketika Anda pergi ke toko untuk mengambil barang, itu disebut acara Callback Response. Jawabannya sudah selesai.
Dalam JavaScript:
Salinan kode adalah sebagai berikut:
Fungsi A dilewatkan sebagai argumen (referensi fungsi) ke fungsi B lain, dan fungsi ini B mengeksekusi fungsi A. Katakanlah bahwa fungsi A disebut fungsi panggilan balik. Jika tidak ada nama (ekspresi fungsi), itu disebut fungsi panggilan balik anonim.
Bahkan, itu berarti melewati fungsi sebagai parameter.
Callback Javscript
Lemparkan semua penjelasan rumit di atas ke tempat sampah ~ dan lihat apa panggilan balik itu
Apa itu panggilan balik
Di jQuery, metode hide mungkin seperti ini
Salinan kode adalah sebagai berikut:
$ (selector) .hide (kecepatan, panggilan balik)
Saat menggunakannya,
Salinan kode adalah sebagai berikut:
$ ('#elemen'). Sembunyikan (1000, function () {
// fungsi panggilan balik
});
Kita hanya perlu menulis fungsi sederhana di dalamnya
Salinan kode adalah sebagai berikut:
$ ('#elemen'). Sembunyikan (1000, function () {
console.log ('hide');
});
Ada komentar kecil dalam hal ini: fungsi panggilan balik dieksekusi setelah animasi saat ini sudah 100% selesai. Kemudian kita bisa melihat fenomena yang sebenarnya. Ketika elemen dengan elemen ID disembunyikan, hide akan output di konsol.
Itu artinya:
Callback sebenarnya, ketika suatu fungsi dieksekusi, fungsi yang sekarang dieksekusi adalah fungsi callback yang disebut.
Fungsi panggilan balik
Dalam keadaan normal, fungsi dieksekusi secara berurutan, tetapi JavaScript adalah bahasa yang digerakkan oleh peristiwa.
Salinan kode adalah sebagai berikut:
fungsi hello () {
console.log ('halo');
}
function world () {
console.log ('dunia');
}
Halo();
dunia();
Oleh karena itu, dalam keadaan normal, mereka akan dieksekusi secara berurutan, tetapi ketika acara dunia dieksekusi untuk waktu yang lama.
Salinan kode adalah sebagai berikut:
fungsi hello () {
setTimeout (function () {
console.log ('halo');
}, 1000);
}
function world () {
console.log ('dunia');
}
Halo();
dunia();
Maka ini tidak terjadi saat ini. Pada saat ini, dunia akan menjadi output dan halo akan menjadi output, jadi kami perlu panggilan balik.
Instance callback
Contoh sederhana adalah sebagai berikut
Salinan kode adalah sebagai berikut:
fungsi add_callback (p1, p2, callback) {
var my_number = p1 + p2;
callback (my_number);
}
add_callback (5, 15, function (num) {
console.log ("call" + num);
});
Dalam contoh kami memiliki fungsi add_callback yang menerima tiga parameter: dua yang pertama adalah dua parameter yang akan ditambahkan, dan yang ketiga adalah fungsi callback. Ketika fungsi dieksekusi, hasil penambahan dikembalikan dan 'Call 20' adalah output di konsol.