函数 createOverload

函数重载

函数重载:常用于同一函数根据参数类型及个数调用不同的实现

常见一个函数,根据传入不同数量的参数及不同的参数类型调用不同的函数实现。

const getUsers = functionUtil.createOverload({
useFirst: true, // 为 true 时意味着,如果有多次相同的重载实现,则使用第一次的重载实现函数,否则,使用最后一次定义的重载实现函数
});
getUsers.addImpl(function () {
console.log('查询所有用户');
});
getUsers.addImpl(function () {
console.log('xxxx 查询所有用户');
});
const searchPage = function (page, pageSize = 10) {
console.log('按照【页码】和【数量】查询用户');
}
getUsers.addImpl('number', searchPage);
getUsers.addImpl('number', 'number', searchPage);

getUsers.addImpl('string', function () {
console.log('按照【姓名】查询用户');
});

getUsers.addImpl('string', 'string', function () {
console.log('按照【性别】查询用户');
});

调用
getUsers(); // 查询所有用户
getUsers(1); // 按照【页码】和【数量】查询用户
getUsers(1, 20); // 按照【页码】和【数量】查询用户
getUsers('a'); // 按照【姓名】查询用户
getUsers('a', 'b'); // 按照【性别】查询用户
  • 参数

    • 可选options: OverloadOptionsInterface

      选项,useFirst:true 为 true 时意味着,如果有多次相同的重载实现,则使用第一次的重载实现函数

    返回 any

    function