将更多参数传递给回调函数

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" ]