繁体   English   中英

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM