Based on vue-demi, useAxios written by compositionApi supports vue2/vue3.
npm install demi-axios

English | 简体中文
- 🦾 Based on vue-demi, useAxios written by compositionApi supports vue2/vue3.
``bashnpm
npm i demi-axios
Usage Example
$3
`ts
// init
import { create } from 'demi-axios'
import type { AxiosInstance } from 'axios'const axios: AxiosInstance = create({/ axiosOptions /})
// axios.interceptors.response.use((response) => {
// ...
// return response
// }, (error) => {
// return Promise.reject(error)
// })
`
$3
`ts
// Usage
// use*(initialData, url, Formatter(responseData, currentData))import { useGet } from 'demi-axios'
const { data, loading, task, error, response } = useGet(
{},
'https://jsonplaceholder.typicode.com/posts/1',
(responseData, currentData)=>{
// process
return responseData
}
)
// data : Ref Return value
// loading : Ref
// task(playload, config)
// error : Ref
// response : Ref
// example 1
task({params: 'demi'}).then((res) => {
console.log(res)
})
// example 2
await task()
console.log(data.value)
consoe.log(response.value)
`
API
$3
useGet
useHead
useDelete
useOptions
$3
useGetBlob
useHeadBlob
useDeleteBlob
useOptionsBlob
$3
usePost
usePut
usePatch
$3
usePostEncoded
usePutEncoded
usePatchEncoded
$3
usePostMultipart
usePutMultipart
usePatchMultipart
FAQ
1. data.value is undefined
The default data format returned by the server is {data:any}. If you are {}, you can do a layer of data processing in the interceptor.
`ts
axios.interceptors.response.use((response) => {
// ...
return { data:response }
}, (error) => {
return Promise.reject(error)
})
``