Files
NapCatQQ/.pnpm-store/v3/files/cc/875c54541a4adb65c34bc9cb5a0755039e41bf271c3a0ec31793c18e89a393d9c4755cfd87fa2851781285a8a151048904746d96805b9a16178f942f21dcad
T
TanTan e311ca3275
Build NapCat Artifacts / Windows Loader Test (push) Canceled after 0s
Build NapCat Artifacts / Type Check & Test (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Framework (push) Canceled after 0s
Build NapCat Artifacts / Build NapCat.Shell (push) Canceled after 0s
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

39 lines
1.0 KiB
Plaintext

import { useRef } from 'react';
var useLoadingDelayPlugin = function (fetchInstance, _a) {
var loadingDelay = _a.loadingDelay, ready = _a.ready;
var timerRef = useRef(undefined);
if (!loadingDelay) {
return {};
}
var cancelTimeout = function () {
if (timerRef.current) {
clearTimeout(timerRef.current);
}
};
return {
onBefore: function () {
cancelTimeout();
// Two cases:
// 1. ready === undefined
// 2. ready === true
if (ready !== false) {
timerRef.current = setTimeout(function () {
fetchInstance.setState({
loading: true,
});
}, loadingDelay);
}
return {
loading: false,
};
},
onFinally: function () {
cancelTimeout();
},
onCancel: function () {
cancelTimeout();
},
};
};
export default useLoadingDelayPlugin;