使用axios拦截器实现请求loading效果

本文介绍如何在Ant Design Mobile的Toast组件中实现Axios请求的加载效果和错误处理,通过设置请求拦截器,在数据请求前显示加载提示,并在请求完成后自动关闭,同时处理可能的请求错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在utils设置方法

import { Toast } from 'antd-mobile'
import axios from 'axios'
const interceptor = {
  init () { //axios拦截器
    // Add a request interceptor
      axios.interceptors.request.use(function (config) {
        // Do something before request is sent

        // 数据请求前,将组件库的 Toast轻提示打开

        Toast.loading('加载中...',2)


        return config;
      }, function (error) {
        // Do something with request error
        return Promise.reject(error);
      });

      // Add a response interceptor
      axios.interceptors.response.use(function (response) {
        // Do something with response data

        //请求得到数据之后,关闭loading

        Toast.hide()

        return response;
      }, function (error) {
        // Do something with response error
        return Promise.reject(error);
      });
  }
}
export default interceptor

配置完成在项目入口文件index.js进行初始化,所有文件都可以使用

//引入loading效果
import interceptor from 'utils/interceptor';
使用axios时,可以通过请求拦截器来对请求进行必要的操作处理。请求拦截器在发送请求之前执行,可以用来添加统一的cookie、对请求体进行验证、设置请求头等操作。相当于是对每个接口里相同操作的一个封装。 通过创建一个axios实例,可以使用拦截器来拦截请求和响应。通过创建实例并设置相关配置,可以在需要拦截请求或响应的地方使用该实例来发起异步请求。而不需要拦截请求或响应的地方,则可以直接使用axios来发起异步请求拦截器在页面发送http请求时非常有用,可以对请求和响应进行特定的处理。比如,在拿到响应之前展示loading动画,或者在每个请求中附带后端返回的token等信息。对于请求较多的情况下,我们可以使用axios提供的拦截器API来进行处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [axios 请求拦截器&响应拦截器](https://blog.csdn.net/weixin_44428734/article/details/120077319)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [axios 拦截器](https://blog.csdn.net/YHLSunshine/article/details/123881984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值