LoopSearch 循环查询类

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()

# 实例化参数

  1. options (Object) :选项对象
  2. options.loopFn (Function) :需要循环调用的函数,如果有返回值将作为 whenFn 的参数。
  3. options.whenFn (Function) :判断条件函数。
  4. [options.delay=3] (number) :本次执行完成后间隔多长时间再执行下次

# 实例方法

  1. start :开始执行
  2. stop :结束执行
Last Updated: 2023/8/18 下午6:37:52