加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – React – fetch-intercept修改所有头文件

发布时间:2020-12-15 09:36:46 所属栏目:百科 来源:网络整理
导读:拦截所有请求并使用fetch-intercept反应添加标头的正确方法是什么?我有一个配置文件,其中包含对fetchIntercept.register()的调用.我有用于导入fetchIntercept配置文件的组件api调用的单独文件.我在调用api之后添加了unregister()调用,但是没有添加标头. API
拦截所有请求并使用fetch-intercept反应添加标头的正确方法是什么?我有一个配置文件,其中包含对fetchIntercept.register()的调用.我有用于导入fetchIntercept配置文件的组件api调用的单独文件.我在调用api之后添加了unregister()调用,但是没有添加标头.

API / config.js

import fetchIntercept from 'fetch-intercept';

const unregister = fetchIntercept.register({
    request: function (url,config) {
        // Modify the url or config here
        const withDefaults = Object.assign({},config);
        withDefaults.headers = defaults.headers || new Headers({
          'AUTHORIZATION': `Bearer ${JSON.parse(sessionStorage.credentials).authToken}`
        });
        return [url,withDefaults];
    },requestError: function (error) {
        // Called when an error occured during another 'request' interceptor call
        return Promise.reject(error);
    },response: function (response) {
        // Modify the reponse object
        return response;
    },responseError: function (error) {
        // Handle an fetch error
        return Promise.reject(error);
    }
});

export default unregister;

API / packageApi.js

import unregister from '../api/config';

class PackageApi {

  static getAllPackages() {
    const request = new Request('/get/my/packages',{
      method: 'GET'
    });
    return fetch(request).then(response => {
      return response.json();
    }).catch(error => {
      return error;
    });
  }

}
unregister();

export default PackageApi;

解决方法

这很简单,使用axios而不是fetch.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读