import { DependencyList, useEffect } from 'react'; import useAsyncFn from '../useAsyncFn'; export type FunctionReturningPromise = (...args: any[]) => Promise; export { AsyncState, AsyncFnReturn } from '../useAsyncFn'; export default function useAsync( fn: T, deps: DependencyList = [] ) { const [state, callback] = useAsyncFn(fn, deps, { loading: true, }); useEffect(() => { callback(); }, [callback]); return state; }