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 ?

Linda Hamilton
Libérer: 2024-12-06 21:27:19
original
365 Les gens l'ont consulté

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

Passer des arguments supplémentaires aux fonctions de rappel

En JavaScript, les fonctions de rappel sont couramment utilisées pour exécuter des opérations asynchrones. Ils acceptent un ou plusieurs arguments et sont invoqués une fois l'opération terminée. Parfois, il est nécessaire de passer des arguments supplémentaires à une fonction de rappel.

Considérons l'exemple suivant :

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

const processMagic = (magic, theAnswer) => {
  someOtherMagic();
};
Copier après la connexion

Ici, la fonction callWithMagic prend une fonction de rappel comme paramètre et l'appelle avec un seul argument nommé magie. Cependant, nous avons également une fonction processMagic qui nécessite deux arguments : magic et theAnswer.

Pour transmettre la fonction processMagic comme argument à callWithMagic, nous devons fournir à la fois magic et theAnswer comme arguments. Une façon d'y parvenir consiste à utiliser une fonction de rappel wrapper :

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

Dans ce cas, la fonction wrapper prend magic comme argument et renvoie le résultat de l'appel de processMagic avec magic et une valeur codée en dur de 42 pour theAnswer. .

Alternativement, nous pouvons exploiter les fonctions fléchées ES6 pour une approche plus concise :

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

Ceci La fonction arrow prend également la magie comme argument mais renvoie implicitement le résultat de l'appel de processMagic.

En utilisant soit la fonction wrapper, soit la fonction arrow, nous pouvons passer un argument supplémentaire à la fonction de rappel, nous permettant d'utiliser plus rappels complexes avec des dépendances supplémentaires.

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