Skip to content

Tool 工具

js
import { debounce, awaitTo, AOP } from 'qin-lantern/util'

防抖

防抖原理:一定时间内,只有最后一次操作,再过wait毫秒后才执行函数

  • @param {Function} fn 要执行的回调函数
  • @param {Number} wait 延时的时间,单位是毫秒,默认是300毫秒
  • @param {Boolean} immediate 是否立即执行,默认是false
js
const myDebounce = debounce(data => {
  console.log(data)
})

myDebounce('传参')

try ...catch的优雅处理方式

  • @param { Promise } promise
  • @param { Object } errorExt - 传递给err对象的其他信息
  • @return
js
let [ err, user ] = await awaitTo(axios(123));
if (err) return cb('No user found');

切片注入

js
var logic = function () {
  console.log('业务代码')
}

/**
* 切入前
* @param {Function} fn         业务代码
* @param {Function} beforeFn   前置函数
*/
logic = AOP.before(logic, function () {
  console.log('切入前代码')
})

/**
* 切入后
* @param {Function} fn         业务代码
* @param {Function} afterFn    后置函数
*/
logic = AOP.after(logic, function () {
  console.log('切入后代码')
})

logic()