overArgs
源码
/**
* 创建一个函数,调用func时参数为相对应的transforms的返回值。
*
* @since 4.0.0
* @category Function
* @param {Function} func 要包裹的函数。
* @param {Function[]} [transforms=[identity]] transforms方法数组.
* @returns {Function} 返回新函数。
*/
function overArgs(func, transforms) {
const funcsLength = transforms.length;
return function(...args) {
let index = -1;
const length = Math.min(args.length, funcsLength);
while (++index < length) {
args[index] = transforms[index].call(this, args[index]);
}
return func.apply(this, args);
};
}原理
相关链接
Last updated