Maison > interface Web > js tutoriel > Comment puis-je transmettre des arguments supplémentaires à une fonction de rappel JavaScript ?

Comment puis-je transmettre des arguments supplémentaires à une fonction de rappel JavaScript ?

Mary-Kate Olsen
Libérer: 2024-12-08 01:52:14
original
896 Les gens l'ont consulté

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

Passer des arguments supplémentaires aux fonctions de rappel

En JavaScript, les fonctions de rappel jouent un rôle crucial dans la programmation asynchrone et la gestion des événements. Bien que les fonctions de rappel acceptent généralement un seul argument, il est parfois nécessaire de leur transmettre des arguments supplémentaires.

Considérez le scénario suivant :

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

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

// We want to pass processMagic to callWithMagic, but also pass 42 as the second parameter.
callWithMagic(); // What should we put here?
Copier après la connexion

Pour y parvenir, il existe deux approches :

Function Wrapper as Callback :

Nous pouvons créer une fonction wrapper qui prend la magie et le transmet avec l'argument supplémentaire à la fonction de rappel d'origine.

callWithMagic(function(magic) {
  return processMagic(magic, 42);
});
Copier après la connexion

Fonction de flèche ES6 :

Les fonctions de flèche ES6 fournissent un raccourci pratique pour écrire le wrapper fonctions.

callWithMagic(magic => processMagic(magic, 42));
Copier après la connexion

Les deux approches vous permettent de transmettre des arguments supplémentaires aux fonctions de rappel en créant une fonction wrapper qui transmet les arguments sous forme de nécessaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal