function
Source: index.js:6
函数处理工具函数
Static Methods
after(count: number, fn: function): function
static
after.js:10创建一个在调用次数达到阈值后才执行的函数。
Parameters
Returns
function— 包装函数
Throws
TypeError | RangeError— 参数类型或 count 不合法时抛出
ary(fn: function, count?: number): function
static
ary.js:10创建一个最多接收指定数量参数的函数。
Parameters
Returns
function— 参数受限的包装函数
Throws
TypeError | RangeError— 参数类型或 count 不合法时抛出
before(count: number, fn: function): function
static
before.js:10创建一个最多执行指定次数的函数,之后始终返回最近一次结果。
Parameters
Returns
function— 限次包装函数
Throws
TypeError | RangeError— 参数类型或 count 不合法时抛出
compose(...functions: function): function
static
compose.js:11从右到左组合多个函数。
Parameters
functions(function) — 要组合的函数
Returns
function— 组合后的函数
Throws
TypeError— 任一参数不是函数时抛出
curry(fn: function, ...arg: *): function
static
curry.js:10将多参数函数转换为可分批传参的柯里化函数。
Parameters
fn(function) — 目标函数arg(*) — 初始参数
Returns
function— 柯里化后的函数
Throws
TypeError— fn 不是函数时抛出
debounce(
fn: function,
wait?: number,
options?: Object,
): function
static
debounce.js:13创建防抖函数,支持前缘、尾调用以及 cancel/flush 控制。
Parameters
fn(function) — 目标函数wait(number, optional, default: 0) — 等待毫秒数options(Object, optional) — 执行选项options.leading(boolean, optional, default: false) — 是否在等待开始时立即执行options.trailing(boolean, optional, default: true) — 是否在等待结束后执行
Returns
function— 带 cancel 和 flush 方法的防抖函数
Throws
TypeError | RangeError— 参数类型或 wait 不合法时抛出
flip(fn: function): function
static
flip.js:9创建一个以相反参数顺序调用目标函数的包装函数。
Parameters
fn(function) — 目标函数
Returns
function— 参数反转后的函数
Throws
TypeError— fn 不是函数时抛出
identity(value: *): *
static
identity.js:8原样返回传入值。
Parameters
value(*) — 任意值
Returns
*— 原值
memoize(fn: function, resolver?: function): function
static
memoize.js:10创建带 Map 缓存的记忆化函数。
Parameters
Returns
function— 记忆化函数,附带可读写的 cache 属性
Throws
TypeError— fn 或 resolver 不是函数时抛出
negate(predicate: function): function
static
negate.js:9创建返回 predicate 结果相反值的函数。
Parameters
predicate(function) — 判断函数
Returns
function— 取反后的函数
Throws
TypeError— predicate 不是函数时抛出
noop(): undefined
static
noop.js:7执行后返回 undefined 的空函数。
Returns
undefined— 始终返回 undefined
once(fn: function): function
static
once.js:9创建一个最多执行一次的函数。首次调用会保留调用方的 this 和全部参数;后续调用返回 undefined。
Parameters
fn(function) — 要包装的函数
Returns
function— 只能执行一次的函数
Throws
TypeError— fn 不是函数时抛出
pipe(...functions: function): function
static
pipe.js:9从左到右串联多个函数。
Parameters
functions(function) — 要串联的函数
Returns
function— 串联后的函数
Throws
TypeError— 任一参数不是函数时抛出
sleep(wait: number): Promise.<void>
static
sleep.js:10返回一个在指定时间后兑现的 Promise,不会阻塞事件循环。
Parameters
wait(number) — 等待时间,单位为毫秒
Returns
Promise.<void>— 等待完成后兑现的 Promise
Throws
TypeError— wait 不是非负有限数字时抛出
throttle(
fn: function,
wait?: number,
options?: Object,
): function
static
throttle.js:13创建节流函数,支持前缘、尾调用以及 cancel/flush 控制。
Parameters
fn(function) — 目标函数wait(number, optional, default: 0) — 节流窗口毫秒数options(Object, optional) — 执行选项options.leading(boolean, optional, default: true) — 是否在节流窗口开始时立即执行options.trailing(boolean, optional, default: true) — 是否在节流窗口结束后执行
Returns
function— 带 cancel 和 flush 方法的节流函数
Throws
TypeError | RangeError— 参数类型或 wait 不合法时抛出