UNPKG

@taro-hooks/use-request

Version:
33 lines 805 B
import { useRef } from '@taro-hooks/core'; var useLoadingDelayPlugin = function useLoadingDelayPlugin(fetchInstance, _ref) { var loadingDelay = _ref.loadingDelay; var timerRef = useRef(); if (!loadingDelay) { return {}; } var cancelTimeout = function cancelTimeout() { if (timerRef.current) { clearTimeout(timerRef.current); } }; return { onBefore: function onBefore() { cancelTimeout(); timerRef.current = setTimeout(function () { fetchInstance.setState({ loading: true }); }, loadingDelay); return { loading: false }; }, onFinally: function onFinally() { cancelTimeout(); }, onCancel: function onCancel() { cancelTimeout(); } }; }; export default useLoadingDelayPlugin;