# 优化
# 说明
优化模块,包含常见的优化操作,导出模块名为optimize
- 导入模块
import { optimize } from 'gx-instant'
# 方法
# debounce
说明:防抖
- 参数
func:Function
需要防抖的函数delay:number
延迟时间
- 返回:
Function
防抖后的函数
# throttle
说明:节流
- 参数
func:Function
需要节流的函数delay:number
延迟时间
- 返回:
Function
节流后的函数
# computed
说明:计算缓存
版本:0.0.7
- 参数
cacheCount:number
可以缓存的结果个数,可选,默认为1
- 返回:
Function
返回一个方法,接受函数以及该函数的参数,形参:func:Function,args:...rest
,其中此函数应是纯函数
示例
// 指定可以缓存的结果个数为2个,返回一个方法
handler = computed(2);
//调用add方法,参数1,2,add计算结果为3
handler(add,1,2);
//再次匹配add方法,参数1,2,不再调用add方法,而是直接返回结果3
handler(add,1,2);
提示
- 计算缓存常常需要方法执行复杂或耗时较长,并且参数不变的情况,可以取出之前计算的结果,避免重复计算
- 根据函数以及函数参数来缓存计算结果,如果曾经计算过,则直接返回结果,否则调用函数计算
- 因参数和方法和结果具有一一对应关系,因此传入方法应为纯函数
# curry
说明:函数柯里化
版本:0.0.7
- 参数
func:Function
要柯里化的方法args:...rest
提前确认的参数,和原函数一致
- 返回:
Function
柯里化方法,接受剩余参数,参数形式和原函数一致,形参:args2:...rest
示例
//调用add方法,2是提前确认的参数,然后传入3,相当于对add(2,3)进行计算缓存
handler = curry(add,2);
handler(3)
提示
- 柯里化方法常用于提前确认和复用方法参数,或使方法懒加载