推荐一款实用JavaScript插件js-trigger

js-trigger https://tanwei-cc.github.io/js-trigger/

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

Features

  • UMD Supported
  • Node Supported
  • Browser Supported

Browser Supported

PlatformDeviceVersion
DesktopChromeall
DesktopFirefox (Gecko)4.0(2)
DesktopIE9
DesktopOpera11.60
DesktopSafari5
MobileAndroidall
MobileFirefox (Gecko)4.0(2)
MobileIE Mobile?
MobileOpera Mobile11.50
MobileSafari Mobileall

Installation

npm install --save tanwei-cc/js-trigger

Examples & Tests


import Trigger from 'js-trigger'; //ES6引入

var Trigger = require('js-trigger').default; //ES5引入

window.Trigger; //browser引入

var trigger = Trigger.create({
    name: '第一个触发器',
    frequency: 5, //每隔5次触发
    interval: 30,  //每隔30s触发
    maxHandlerFrequency: 10,  //最多触发10次
    handlerInterval: 30,  //距离上次触发超过30s再触发
    firstTrigger: true   //首次立刻触发
});

/**
 * 触发器监听事件处理函数
 * @param {Object} state - 当前状态
 * @param {number} handlerCounter - 触发次数统计
 * @param {Date} startTime - 开始时间
 * @param {Date} endTime - 结束时间
 * @param {number} duration - 持续时长(ms)
 * @param {Object[]} data - 追加数据,每次check进行传入
 */
trigger.on(function(state){
  //do something
});

setInterval(function(){
  trigger.check('每次check传入的数据');
}, 1000);

//停止触发器
trigger.stop();

//打开触发器
trigger.open();

//重置触发器
trigger.reset();

//移除触发器监听事件
trigger.off(handler);

//重置所有触发器实例
Trigger.resetAll();

//打开所有触发器实例
Trigger.openAll();

//停止所有触发器实例
Trigger.stopAll();

//移除所有触发器实例
Trigger.removeAll();

Documentation

Changelog

转载于:https://my.oschina.net/u/933798/blog/1542076

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值