您的位置:首页 > Web前端 > JavaScript

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

2017-09-22 00:00 661 查看

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息