Всем привет! Использую vue3 + vite
Как во Vue можно создать свой useFetch, чтобы можно было вставлять как fetch так и axios
в NuxtJs это реализовано вот так
import { VueConstructor } from 'vue'
declare type ComponentInstance = InstanceType<VueConstructor>
interface Fetch {
(context: ComponentInstance): void | Promise<void>
}
declare const useFetch: (callback: Fetch) => {
fetch: () => void
fetchState: {
error: Error | null
pending: boolean
timestamp: number
}
$fetch: () => void
$fetchState: {
error: Error | null
pending: boolean
timestamp: number
}
}
при использовании
useFetch(async () => {
await $axios.$get(`/api/v1/admin/tariffs`).then((response: any) => {
tariffs.value = response.data
})
})