# 优化

# 说明

优化模块,包含常见的优化操作,导出模块名为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) 

提示

  • 柯里化方法常用于提前确认和复用方法参数,或使方法懒加载