UNPKG

taro-hooks

Version:
22 lines 815 B
import { showLoading, hideLoading } from '@tarojs/taro'; import { useRef, useEffect } from '@taro-hooks/core'; import usePromise from '../usePromise'; import { generateGeneralFail, combineOptions } from '../utils/tool'; function useLoading(option) { var generalOption = useRef(option); useEffect(function () { generalOption.current = option; }, [option]); var showLoadingAsync = usePromise(showLoading); var show = function show(option) { if (!option && !generalOption.current) return Promise.reject(generateGeneralFail('showLoading', 'please provide a option')); var loadingOption = combineOptions(generalOption.current, option); return showLoadingAsync(loadingOption); }; var hide = usePromise(hideLoading); return { show: show, hide: hide }; } export default useLoading;