我正在尝试创建一个最小的示例,在那里我可以完成上面描述的内容。为此,这里是我的一个小例子,到底哪里,我想在输出将参数传递给node.js中的async.parallel
负1,看试图为-1
加2一个是3
这是我的代码。
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));
});
请注意,我传递一个命名对象async.parallel以及。传递一个数组(并且完全忘记名字)也可以作为我的答案,但我更感兴趣的是传递这样一个对象。
关于实现我的目标的任何想法?
你为什么要这么做? – thefourtheye 2014-10-17 18:32:52
如果这是你需要的,你可以用'f.name'来得到一个函数的名字......但是我不知道我明白你想要做什么。 – elclanrs 2014-10-17 18:33:24
正如标题所示,我希望将不同的参数传递给我使用async.parallel调用的每个函数。所以,我想并行运行'negative(1,cb)'和'plusOne(2,cb)'。有什么意义? 这个想法是,在一些同伴注册期间,我想要在不同的集合中并行创建一些对象。我可以写下我打算传递给这个函数的(单个)参数,然后用async.parallel调用它们。它会使代码更清洁。有道理我想说什么? – MightyMouse 2014-10-17 18:36:53