@hanxx/vue-hooks
Version:
⚡️ Awesome Vue Hooks
17 lines (16 loc) • 582 B
TypeScript
import { Ref } from '@vue/composition-api';
export interface ReturnValue<Result = any> {
loading: Ref<boolean>;
error: Ref<Error>;
resp: Ref<Result>;
run: (...args: any[]) => Promise<Result>;
}
export interface Options<Result = any> {
manual?: boolean;
initialData?: Result;
onSuccess?: (data: Result, params?: any[]) => void;
onError?: (e: Error, params?: any[]) => void;
params?: any[];
}
declare function useAsync<Result = any>(fn: (...args: any[]) => Promise<Result>, options?: Options<Result>): ReturnValue<Result>;
export default useAsync;