定时轮询
定时执行器 interval hook
通过 setInterval 实现的轮询定时器
回调
时间间隔(s)
定时器 timeout
使用 timeout 实现的定时器,兼容Promise回调, 当回调返回Promise时,将等待Promise执行完成后, 出入下一次计时
const { run, stop, isRun } = useTimeout() async function update(){ try{ await API.update() }catch(e){ console.error(e) stop() } }
中断处理:
对于callback为Promise的情况, callback内执行stop。 存在clearTimeout无法中断循环的情况, 主要因为clearTimeout清理的是timeout的执行, 必须在回调执行前。 所以 run 循环需要通过 isRun 判断是否执行下一计时器. 统一将中断封装为 stop 函数
(function | Promise) 执行回调
Generated using TypeDoc
定时轮询