UNPKG

@modern-kit/react

Version:
39 lines (35 loc) 885 B
'use strict'; var React = require('react'); function useBlockMultipleAsyncCalls() { const [isLoading, setIsLoading] = React.useState(false); const [isError, setIsError] = React.useState(false); const isCalled = React.useRef(false); const blockMultipleAsyncCalls = React.useCallback( async (callback) => { if (isCalled.current) { return; } isCalled.current = true; setIsLoading(true); setIsError(false); try { const result = await callback(); return result; } catch (error) { setIsError(true); throw error; } finally { isCalled.current = false; setIsLoading(false); } }, [] ); return { isError, isLoading, blockMultipleAsyncCalls }; } exports.useBlockMultipleAsyncCalls = useBlockMultipleAsyncCalls; //# sourceMappingURL=index.cjs.map