12 lines
351 B
TypeScript
12 lines
351 B
TypeScript
import { AxiosError } from "axios";
|
|
|
|
export async function useApi<T>(promise: Promise<{ data: T }>): Promise<T> {
|
|
try {
|
|
const response = await promise;
|
|
return response.data;
|
|
} catch (error) {
|
|
const message = (error as AxiosError<{ message?: string }>).response?.data?.message ?? "Unexpected error";
|
|
throw new Error(message);
|
|
}
|
|
}
|