UNPKG

@logicflow/core

Version:

LogicFlow, help you quickly create flowcharts

29 lines (23 loc) 581 B
import { createUuid } from './uuid' const rafIdMap = new Map() export const createRaf = (callback: () => void) => { const rafId = createUuid() function run() { callback() const eId = rafIdMap.get(rafId) if (eId) { const nId = window.requestAnimationFrame(run) rafIdMap.set(rafId, nId) } } const id = window.requestAnimationFrame(run) rafIdMap.set(rafId, id) return rafId } export const cancelRaf = (rafId: string) => { const eId = rafIdMap.get(rafId) if (eId) { window.cancelAnimationFrame(eId) rafIdMap.delete(rafId) } }