将更多参数传递给回调函数
Passing more parameters into callback function
我使用 lodash _.forIn
,它有一个带有键和值的回调。
_.forIn({...}, callback);
function callback(key, value) {...}
有没有办法将第三个参数传递给该函数?
您可以使用 HOF
(高阶函数)来避免编写具有几乎相同主体的单独回调。
function createCallback(yourParameter){
return function(key, value){
if(yourParameter === 'Something'){
//doSomething different;
} else if(yourParameter === 'Something else'){
//doSomethingElse
}
}
}
var cb1 = createCallback('Something');
var cb2 = createCallback('Something else');
_.forIn({...}, cb1);
_.forIn({...}, cb2);
为此使用 partial()。
function log() {
console.log(arguments);
}
var func = _.partial(log, 'hello');
func('world');
// → [ "hello", "world" ]
我使用 lodash _.forIn
,它有一个带有键和值的回调。
_.forIn({...}, callback);
function callback(key, value) {...}
有没有办法将第三个参数传递给该函数?
您可以使用 HOF
(高阶函数)来避免编写具有几乎相同主体的单独回调。
function createCallback(yourParameter){
return function(key, value){
if(yourParameter === 'Something'){
//doSomething different;
} else if(yourParameter === 'Something else'){
//doSomethingElse
}
}
}
var cb1 = createCallback('Something');
var cb2 = createCallback('Something else');
_.forIn({...}, cb1);
_.forIn({...}, cb2);
为此使用 partial()。
function log() {
console.log(arguments);
}
var func = _.partial(log, 'hello');
func('world');
// → [ "hello", "world" ]