Je veux appuyer sur des fonctions avec des paramètres sur un tableau sans les avoir exécutés. Voici ce que j'ai essayé jusqu'à présent: mais de cette manière, les fonctions sont exécutées lors de la poussée. Cette question fournit un exemple similaire mais sans paramètres. Comment puis-je inclure des paramètres dans cet exemple? P> p>
3 Réponses :
Vous devez function MyFunction(param1, param2){
console.log('Param1:', param1, 'Param2:', param2)
}
var load_functions = [];
load_functions.push(MyFunction.bind(undefined, 1, 2));
load_functions[0](); // Param1: 1 Param2: 2
Simple et précis.! Merci. :)
Non, vous n'avez pas avoir à b> Lier les paramètres, bien que c'est une approche. Il est plus lisible et idiomatique avec des fonctions fléchées pour écrire () => myfunction (1, 2) code>.
Fonctions push qui font ce que vous voulez:
load_functions.push( () => load_helpers.loadAgentListings(callback, agent_ids), () => load_helpers.loadAgentCount (callback, agent_data) );
Vous pouvez envelopper des éléments ajoutés avec une fonction comme celle-là, simulacons et essayez de l'utiliser de la sorte: P> load_helpers code> var a = []
a.push(load_helpers.loadAgentListings.bind(null, (function(r) {return r * 2})))
console.log(a[0]([1, 2, 3])) // execution with additional parameters
Êtes-vous lié à la structure de la matrice? Sinon, je suggère une solution avec un objet contenant des références à la fonction et aux arguments.
Oui, j'ai besoin de transmettre ce tableau vers
async.parallel ([], rappel ()); code> Il pourrait y avoir une solution de contournement avec objet.