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
Mary-Kate Olsenoriginal
2024-12-08 01:52:14940parcourir

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?

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);
});

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));

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!

Déclaration:
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
Article précédent:Pipe la merdeArticle suivant:Pipe la merde