Passer des arguments à async.parallel in node.js

Je tente de créer un exemple minimal où je peux accomplir ce que je décris ci-dessus. À cette fin, voici ma tentative pour un exemple minimal, où j'aimerais enfin voir dans la sortie

Le négatif de 1 est -1

Plus un de 2 est 3

Voici mon code.

var async = require('async'); var i, args = [1, 2]; var names = ["negative", "plusOne"]; var funcArray = [ function negative(number, callback) { var neg = 0 - number; console.log("negative of " + number + " is " + neg); callback(null, neg); }, function plusOne(number, callback) { setTimeout(function(number, callback) { var onemore = number + 1 console.log("plus one of " + number + " is " + onemore); callback(null, onemore); }, 3000); }]; var funcCalls = {}; for (i = 0; i < 2; i++) { funcCalls[names[i]] = function() { funcArray[i].apply(this, args[i]); }; } async.parallel(funcCalls, function(error, results) { console.log("Parallel ended with error " + error); console.log("Results: " + JSON.stringify(results)); }); 

Notez que je transmet un objet nommé à async.par parallèle aussi. Passer un tableau (et oublier entièrement les noms) fonctionnerait aussi comme une réponse pour moi, mais je suis plus intéressé à passer un tel objet.

Des idées sur la réalisation de mon objectif?

Pourquoi ne pas bind les valeurs initiales? Ensuite, vous auriez quelque chose comme ça:

 async.parallel([ negative.bind(null, -1), plusOne.bind(null, 3) ], function(err, res) { console.log(err, res); }); 

Bien sûr, vous pouvez générer la liste avec différents paramètres. Ce n'était que pour donner une idée d'une approche simplifiée.