Javascript Node.js函数参数注入函数
我正在尝试创建如下所示的新函数Javascript Node.js函数参数注入函数,javascript,node.js,parameters,Javascript,Node.js,Parameters,我正在尝试创建如下所示的新函数 function NVConvertToFV (array, func) { var funcA = []; for(var i=0; i<array.length; i++) { var valueF = function (callback) { func(array[i], callback); } funcA[i] = valueF; } retu
function NVConvertToFV (array, func) {
var funcA = [];
for(var i=0; i<array.length; i++) {
var valueF = function (callback) {
func(array[i], callback);
}
funcA[i] = valueF;
}
return funcA;
}
结果:
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
是否有可能将“func”和“array[i]”识别为函数和数组?像
function (callback) {alert('hello', callback);},
function (callback) {alert('it', callback);},
function (callback) {alert('is', callback);},
function (callback) {alert('impossible', callback);},
如果有人帮助我,那将非常高兴。在nvconverttoff()
中使用array.forEach()
而不是普通的for循环,以便正确捕获数组中的当前值,以便内联回调保存正确的引用。例如:
function NVConvertToFV(array, func) {
var funcA = new Array(array.length);
array.forEach(function(val, i) {
funcA[i] = function(callback) {
func(val, callback);
};
});
return funcA;
}
为什么需要这样做?您只是要求修改toString吗?@mscdex使用“async”模块并行处理多个任务。并尝试编写面向对象编程代码。所以,我想用外部函数来创建函数。最终目标是这样的。并行(funcA,函数(err,results){})@不,我用字符串函数来显示我的NVCONVERTTOV函数的结果。我想创建一个单独的函数,它有自己的变量来使用async.parallel()函数现在的函数有什么问题,除了需要使用
array.forEach()
而不是普通的for循环,才能在数组中的元素周围创建一个正确的闭包?
function NVConvertToFV(array, func) {
var funcA = new Array(array.length);
array.forEach(function(val, i) {
funcA[i] = function(callback) {
func(val, callback);
};
});
return funcA;
}