const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
};
const URL = 'yourUrl';
const makeAuthenticatedApiCall = ({
method = 'get',
path,
data,
customHeaders = {},
}) => {
console.log(`Calling ${method}`, `${URL}${path}`);
return axios({
url: `${URL}${path}`,
method,
headers: {
...headers,
...customHeaders
},
data,
});
};
// and make a call like this:
AsyncStorage.getItem("userToken").then((value) => {
makeAuthenticatedApiCall({
method: 'put',
path: '/resourcePathToBeAddedHere',
{someData: {}},
customHeaders: { Authorization: `Bearer ${value};` },
}));
});
Я думаю, что проблема в вашем коде в том, что вы задаете заголовок авторизации в обещании, которое разрешается до возврата:
function ({getState, dispatch, getSourceAction}, config) {
AsyncStorage.getItem("userToken").then((value) => {
config.headers.Authorization = `Bearer ${value}`; //<--this is set too late, the return is already done at this point.
})
console.log(config);
return config;
}