service.interceptors.response.use((response) => { return response.data }, err)vue2转化vue3
时间: 2024-09-18 07:10:46 浏览: 127
浅谈Vue网络请求之interceptors实际应用
在 Vue.js 中,从 Vue 2 转换到 Vue 3 的过程中,拦截器的写法有所变化。在 Vue 3 中,响应式系统的拦截器通常放在 `setup()` 函数里,使用 `useEffect` 或者自定义 hook 来处理。例如,响应拦截器的转换可以像下面这样:
```javascript
import { onMounted, ref } from 'vue'
// 创建一个响应拦截器函数
const handleResponse = (response) => response.data
// 使用 setup() 函数,在组件挂载时初始化
setup() {
const $axios = // 如果有使用 axios,记得导入并创建引用
// 使用 useEffect 或者一个自定义 hook 实现请求拦截
onMounted(() => {
$axios.interceptors.response.use(handleResponse, (err) => {
console.error('Error:', err)
return Promise.reject(err)
})
})
// 其他组件相关配置...
return {}
}
```
这里的关键点是在 Vue 3 的生命周期钩子 `onMounted` 上设置拦截器,而不是直接在选项对象中。同时注意 `$axios` 变量是否已经更新为 Vue 3 的 Axios 插件。
阅读全文