RxJs 如何设置默认请求头? [英] RxJs How to set default request headers?

查看:73
本文介绍了RxJs 如何设置默认请求头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

不确定是否有任何方法可以像我们使用 axios js 那样在 rxjs 中设置默认请求标头

Not sure is there any way to set default request headers in rxjs like we do with axios js as-

axios.defaults.headers.common['Authorization'] = 'c7b9392955ce63b38cf0901b7e523efbf7613001526117c79376122b7be2a9519d49c5ff5de1e217db93beae2f2033e9';

这是我的史诗代码,我想在其中设置请求标头 -

Here is my epic code where i want to set request headers -

export default function epicFetchProducts(action$, store) {
    return action$.ofType(FETCH_PRODUCTS_REQUEST)
    .mergeMap(action =>
        ajax.get(`http://localhost/products?${action.q}`)
      .map(response => doFetchProductsFulfilled(response))
    );
}

请帮忙.

推荐答案

不可能使用 RxJS 的 ajax 实用程序为所有 ajax 请求设置默认标头.

It's not possible to set default headers for all ajax requests using RxJS's ajax utilities.

然而,您可以在每次调用中提供标头,或者创建自己的简单包装器来默认提供它们.

You can however provide headers in each call, or create your own simple wrapper that provides them by default.

const defaultHeaders = {
  Authorization: 'c7b9392955ce63b38cf090...etc'
};

export const get = (url, headers) =>
  ajax.get(url, Object.assign({}, defaultHeaders, headers));

my-example.js

import * as ajax from './utils/ajax';

// Usage is the same, but now with defaults
ajax.get(`http://localhost/products?${action.q}`;)

这篇关于RxJs 如何设置默认请求头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆