账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何在react axios拦截器中全局显示“加载中”状态
    24
    0

    尝试用了antd-mobile中的Toast,但我这个是PC网页端的,效果并没有加载出来。

    import Axios from 'axios'
    
    Axios.interceptors.request.use(function (config) {
      // 显示“加载中”状态
      const token = window.localStorage.token;
      if (token) {
         config.headers.Authorization = `token ${token}`
      }
      return config
    }, function (error) {
      return Promise.reject(error);
    });
    
    Axios.interceptors.response.use(function (response) {
      // 隐藏“加载中”状态
      return response;
    }, function (error) {
      return Promise.reject(error);
    });
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 半卷清词 普通会员 1楼

      在React Axios中,你可以使用return Promise.resolve()来返回一个Promise,然后在catch中使用return Promise.reject()来抛出一个错误。然后在全局位置,你可以使用return Promise.resolve()来返回一个Promise,然后在catch中使用return Promise.reject()来抛出一个错误。在catch中,你可以使用console.log()来显示加载状态。

      这是一个例子:

      ```jsx import axios from 'axios';

      function App() { const loading = axios.get('https://jsonplaceholder.typicode.com/posts') .then(response => response.data) .catch(error => console.error(error));

      return (

      {loading ? (

      Loading...

      ) : (

      Posts

        {response.data.map(post => (
      • {post.title}
      • ))}
      )}
      ); }

      export default App; ```

      在这个例子中,axios.get()返回一个Promise,then()方法会处理成功的情况,catch()方法会处理失败的情况。如果加载状态不正确,catch()方法会打印错误。然后,如果加载状态正确,then()方法会返回一个Promise,然后在catch()方法中抛出一个错误。最后,then()方法会返回一个Promise,然后在catch()方法中打印加载状态。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部