UNPKG

nk-cli

Version:

Initialize a vite app fast by NK-CLI

18 lines (16 loc) 425 B
import { ref, unref } from 'vue'; export function useLockFn<P extends any[] = any[], V = any>(fn: (...args: P) => Promise<V>) { const lockRef = ref(false); return async function (...args: P) { if (unref(lockRef)) return; lockRef.value = true; try { const ret = await fn(...args); lockRef.value = false; return ret; } catch (e) { lockRef.value = false; throw e; } }; }