Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Menyalurkan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?

Bagaimanakah Saya Boleh Menyalurkan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-06 21:27:19371semak imbas

How Can I Pass Extra Arguments to a JavaScript Callback Function?

Melalukan Argumen Tambahan kepada Fungsi Panggilan Balik

Dalam JavaScript, fungsi panggil balik biasanya digunakan untuk melaksanakan operasi tak segerak. Mereka menerima satu atau lebih hujah dan dipanggil apabila operasi selesai. Kadangkala, adalah perlu untuk menghantar argumen tambahan kepada fungsi panggil balik.

Pertimbangkan contoh berikut:

const callWithMagic = callback => {
  const magic = getMagic();
  callback(magic);
};

const processMagic = (magic, theAnswer) => {
  someOtherMagic();
};

Di sini, fungsi callWithMagic mengambil fungsi panggil balik sebagai parameter dan memanggilnya dengan satu hujah bernama sihir. Walau bagaimanapun, kami juga mempunyai fungsi processMagic yang memerlukan dua argumen: magic dan theAnswer.

Untuk lulus fungsi processMagic sebagai argumen kepada callWithMagic, kami perlu menyediakan kedua-dua sihir dan Jawapan sebagai argumen. Satu cara untuk mencapai ini ialah menggunakan fungsi panggil balik pembalut:

callWithMagic(function(magic) {
  return processMagic(magic, 42);
});

Dalam kes ini, fungsi pembalut mengambil sihir sebagai hujah dan mengembalikan hasil proses memanggilMagic dengan sihir dan nilai kod keras 42 untuk Jawapan .

Sebagai alternatif, kami boleh memanfaatkan fungsi anak panah ES6 untuk lebih ringkas pendekatan:

callWithMagic(magic => processMagic(magic, 42));

Fungsi anak panah ini juga mengambil sihir sebagai hujah tetapi secara tersirat mengembalikan hasil panggilan processMagic.

Dengan menggunakan sama ada fungsi pembungkus atau fungsi anak panah, kita boleh lulus hujah tambahan kepada fungsi panggil balik, membolehkan kami menggunakan panggilan balik yang lebih kompleks dengan kebergantungan tambahan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalurkan Argumen Tambahan kepada Fungsi Panggilan Balik JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn