123456789101112131415161718192021222324252627282930 |
- import useAutoRunPlugin from './plugins/useAutoRunPlugin';
- import useCachePlugin from './plugins/useCachePlugin';
- import useDebouncePlugin from './plugins/useDebouncePlugin';
- import useLoadingDelayPlugin from './plugins/useLoadingDelayPlugin';
- import usePollingPlugin from './plugins/usePollingPlugin';
- import useRefreshOnWindowFocusPlugin from './plugins/useRefreshOnWindowFocusPlugin';
- import useRetryPlugin from './plugins/useRetryPlugin';
- import useThrottlePlugin from './plugins/useThrottlePlugin';
- import type { Service, UseRequestOptions, UseRequestPlugin } from './types';
- import { useRequestImplement } from './useRequestImplement';
- export { clearCache } from './utils/cache';
- export function useRequest<TData, TParams extends any[]>(
- service: Service<TData, TParams>,
- options?: UseRequestOptions<TData, TParams>,
- plugins?: UseRequestPlugin<TData, TParams>[],
- ) {
- return useRequestImplement<TData, TParams>(service, options, [
- ...(plugins || []),
- useDebouncePlugin,
- useLoadingDelayPlugin,
- usePollingPlugin,
- useRefreshOnWindowFocusPlugin,
- useThrottlePlugin,
- useAutoRunPlugin,
- useCachePlugin,
- useRetryPlugin,
- ] as UseRequestPlugin<TData, TParams>[]);
- }
|