Maison >interface Web >js tutoriel >Comment puis-je transmettre un argument supplémentaire à une fonction de rappel ?

Comment puis-je transmettre un argument supplémentaire à une fonction de rappel ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 19:24:14483parcourir

How Can I Pass an Additional Argument to a Callback Function?

Passer un argument supplémentaire à une fonction de rappel

Dans certains scénarios, il peut être nécessaire de transmettre un argument supplémentaire à une fonction de rappel. Ceci peut être réalisé grâce à une simple fonction d'emballage ou une fonction de flèche.

Considérons l'exemple suivant :

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

Ici, la fonction callWithMagic prend une fonction de rappel comme paramètre et l'appelle avec un argument. Supposons que vous ayez une autre fonction, processMagic, qui nécessite deux arguments : magic et theAnswer.

Pour passer processMagic comme argument à callWithMagic et fournir un argument supplémentaire (42) à processMagic, vous pouvez créer une fonction wrapper :

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

Alternativement, en utilisant les fonctions fléchées ECMAScript 6, vous pouvez write:

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

Ces deux approches vous permettent de transmettre l'argument supplémentaire à la fonction processMagic tout en adhérant à la signature attendue par callWithMagic.

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