js-perform-lock
1.0.5 • Public • Published
js函数执行锁
- 这样能起到节省代码的高开销不必要的计算,节流,防抖,异步转队列
- new一个实例重构业务函数,返回新的函数
第一步 安装依赖
npm install js-perform-lock
第二步 引入依赖
import { delayPerform, firstPerform, intervalPerform, passivePerform, queuePerform } from "js-perform-lock";
// * 这样能起到节省代码的高开销不必要的计算,节流,防抖
// * new一个实例重构业务函数,返回新的函数
/**
* @description 乐观锁-最后放行执行 (默认节流断点时间150毫秒)
* d函数多次循环连续执行过程中,如果上一次执行与下一次执行之间递归比较时间间隔小于500毫秒将不执行代码,直到函数执行后500毫秒内没有重新执行才会放行最后一次代码执行。
*/
var d = (new delayPerform(500)).refactor(function( /**可接收参数**/ ){
// 业务代码
});
/**
* @description 乐观锁-抢先放行执行 (默认节流断点时间150毫秒)
* f函数多次循环连续执行过程中,如果上一次执行与下一次执行之间递归比较时间间隔小于500毫秒的只会放行第一次执行。直到执行间隔大于500毫秒才会重新比较放行下个阶段的第一次执行。
*/
var f = (new firstPerform(500)).refactor(function( /**可接收参数**/ ){
// 业务代码
});
/**
* @description 乐观锁-间隔放行执行 (默认节流断点时间150毫秒)
* i函数多次循环连续执行过程中第一次运行执行后每隔500毫秒或者大于这个时间才会放行代码运行。
*/
var i = (new intervalPerform(500)).refactor(function( /**可接收参数**/ ){
// 业务代码
});
/**
* @description 乐观锁-被动放行执行
* p_f函数第一次执行后会给函数加一把锁,只有p.unlock解锁后。才能执行下一次
*/
var p = new passivePerform();
var p_f = p.refactor(function( /**可接收参数**/ ){
// 业务代码
});
// 解锁
p.unlock();
/**
* @description 悲观锁-队列放行执行
* q_f函数多次循环连续执行时会把所有的执行任务用队列的形式排好,执行一次后直到q.unlock解锁后会自动执行下一次直到队列里面的任务都执行完。中间也可以q.dissolve解散当前现存的队列
*/
var q = new queuePerform();
var q_f = q.refactor(function( /**可接收参数**/ ){
// 业务代码
});
// 解锁
q.unlock();
// 解散
q.dissolve();
原作者
创建时间
更新时间
Package Sidebar
Install
Weekly Downloads