Options
All
  • Public
  • Public/Protected
  • All
Menu

Module vx-hooks/useTimeout

定时轮询

Index

Interfaces

Type aliases

Functions

Type aliases

Fn

Fn: (...args: any[]) => any

Type declaration

    • (...args: any[]): any
    • Parameters

      • Rest ...args: any[]

      Returns any

Functions

useTimeLoop

useTimeout

  • 定时器 timeout

    summary

    使用 timeout 实现的定时器,兼容Promise回调, 当回调返回Promise时,将等待Promise执行完成后, 出入下一次计时

    exmaple
    const { run, stop, isRun } = useTimeout()
    async function update(){
      try{
         await API.update()  
      }catch(e){
         console.error(e)
         stop()
      }
    }
    
    
    tips

    中断处理:

    对于callback为Promise的情况, callback内执行stop。 存在clearTimeout无法中断循环的情况, 主要因为clearTimeout清理的是timeout的执行, 必须在回调执行前。 所以 run 循环需要通过 isRun 判断是否执行下一计时器. 统一将中断封装为 stop 函数

    Parameters

    • callback: Fn

      (function | Promise) 执行回调

    • t: number = 0

      时间间隔(s)

    Returns UseTimeoutAPI

Generated using TypeDoc