UNPKG

@taro-hooks/use-request

Version:
38 lines (37 loc) 902 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@taro-hooks/core"); var useLoadingDelayPlugin = function useLoadingDelayPlugin(fetchInstance, _ref) { var loadingDelay = _ref.loadingDelay; var timerRef = (0, core_1.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(); } }; }; exports["default"] = useLoadingDelayPlugin;