UNPKG

vue-hooks-plus

Version:
34 lines (33 loc) 698 B
import { ref, unref } from "vue"; const useLoadingDelayPlugin = (inst, { loadingDelay }) => { const delayRef = ref(); const clear = () => { if (delayRef.value) { clearTimeout(unref(delayRef.value)); delayRef.value = void 0; } }; return { name: "loadingDelayPlugin", onFinally: () => { clear(); const delay = unref(loadingDelay); if (delay) { inst.setState({ loading: true }); delayRef.value = setTimeout(() => { inst.setState({ loading: false }); }, delay); } }, onError: () => { clear(); } }; }; export { useLoadingDelayPlugin as default };