LoopSearch 循环查询类
liz-q 2020/12/28
创建一个循环调用 loopFn
函数的一个实例,它的默认间隔时间是 3 秒,它的终止条件是根据 whenFn
返回值决定,返回 true,继续执行,返回 false 结束执行。调用 start
函数开始执行,调用 stop
函数结束执行。whenFn
函数接受 loopFn
返回的结果作为参数。
# 例子
import { LoopSearch } from '@liz-q/utils'
const loopSearch = new LoopSearch({
// 5 秒执行一次,不传默认是 3 秒
delay: 5 * 1000,
// 要循环的方法
loopFn: loopMethod,
// 判断方法,如果返回 true 进入下次循环,返回 false 停止循环
// 参数 res 就是 loopFn 返回的结果,所以 loopFn 最好要有 return
whenFn: (res) => {
return res === true
}
})
async function loopMethod () {
const res = await axios.get(...)
return res
}
// 开始执行
loopSearch.start()
// 终止执行
loopSearch.stop()
# 实例化参数
options
(Object) :选项对象options.loopFn
(Function) :需要循环调用的函数,如果有返回值将作为whenFn
的参数。options.whenFn
(Function) :判断条件函数。[options.delay=3]
(number) :本次执行完成后间隔多长时间再执行下次
# 实例方法
start
:开始执行stop
:结束执行