[英]Node.js function parameter inject into function
I'm tring to create new function like below我正在尝试创建如下所示的新功能
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;
}
But, 'func(array[i], callback);'但是,'func(array[i], callback);' recognized as just a string.
识别为只是一个字符串。
ex.前任。
var funcA = [];
var msg = ['hello ', 'it ', 'is ', 'impossible!'];
function alert (para, callback) {
console.log(para);
callback(null);
}
funcA = NVConvertToFV(msg, alert);
console.log(String(funcA));
results:结果:
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
function (callback) {func(array[i], callback);},
Is there any possible way 'func' and 'array[i]' recognized as function and array? 'func' 和 'array[i]' 是否有可能被识别为函数和数组? like,
喜欢,
function (callback) {alert('hello', callback);},
function (callback) {alert('it', callback);},
function (callback) {alert('is', callback);},
function (callback) {alert('impossible', callback);},
if someone help me that would be really gladful.如果有人帮助我,那将是非常高兴的。
In NVConvertToFV()
use array.forEach()
instead of a normal for-loop in order to correctly capture the current value in the array so that the inner inline callback holds the correct reference.在
NVConvertToFV()
使用array.forEach()
而不是普通的 for 循环,以便正确捕获数组中的当前值,以便内部内联回调保持正确的引用。 For example:例如:
function NVConvertToFV(array, func) {
var funcA = new Array(array.length);
array.forEach(function(val, i) {
funcA[i] = function(callback) {
func(val, callback);
};
});
return funcA;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.