View on GitHub

js-trigger

js-trigger是一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数,使用场景如:限制日志频繁上传、限制ajax频繁调用、错误提醒、网络状态检测等

Trigger

Trigger是一个JavaScript触发器插件,可通过指定频次、指定时间内触发指定的处理函数,使用场景如:限制日志频繁上传、限制ajax频繁调用、错误提醒、网络状态检测等

Kind: global class
Version: 1.0.0
Author: Tango tanwei_yx@126.com

new Trigger(props)

创建一个触发器实例 frequency/interval 至少传入一个

Param Type Description
props Object 触发器配置
props.name string 触发器名称
props.frequency number [>0]限制频次触发,每隔N次触发
props.interval number [>0]限制时间间隔触发(s),每隔N(s)触发
props.maxHandlerFrequency number [>0]最多触发次数
props.handlerInterval number [>0]距离上次触发时间间隔(s)
props.firstTrigger boolean 是否首次立刻触发

Example

new Trigger({
  name: '',
  frequency: 5,
  interval: 30
})

Trigger.create({
  name: '',
  frequency: 5,
  interval: 30
})

trigger.check(data)

检查触发器,条件成立会即可触发处理函数

Kind: instance method of Trigger

Param Type Description
data \* 追加数据,方便触发器执行时获得累加的数据

trigger.open()

打开触发器

Kind: instance method of Trigger

trigger.stop()

停止触发器,可通过open重新打开

Kind: instance method of Trigger

trigger.reset(props)

重置触发器,同时也会打开触发器

Kind: instance method of Trigger

Param Type Description
props Object 详情

trigger.trigger()

执行触发器处理函数

Kind: instance method of Trigger

trigger.on(handler)

触发器监听事件,条件满足立刻触发处理函数

Kind: instance method of Trigger

Param Type Description
handler handler 处理函数

trigger.off(handler)

移除触发器监听事件

Kind: instance method of Trigger

Param Type Description
handler function 处理函数

Trigger.checkConfig(props) ⇒ boolean

检查触发器配置是否有效

Kind: static method of Trigger

Param Type Description
props Object 详情

Trigger.create(props)

创建一个触发器实例

Kind: static method of Trigger

Param Type Description
props Object 详情

Trigger.each()

遍历所有触发器实例

Kind: static method of Trigger

Trigger.resetAll()

重置所有触发器实例,同时也会打开触发器

Kind: static method of Trigger

Trigger.openAll()

打开所有触发器实例

Kind: static method of Trigger

Trigger.stopAll()

停止所有触发器实例

Kind: static method of Trigger

Trigger.removeAll()

移除所有触发器实例

Kind: static method of Trigger

Trigger~handler : function

触发器监听事件处理函数

Kind: inner typedef of Trigger

Param Type Description
handlerCounter number 触发次数统计
startTime Date 开始时间
endTime Date 结束时间
duration number 持续时长(ms)
data Array.<Object> 追加数据,每次check进行传入