Я моделирую слой auth для простого приложения action/redux. На стороне сервера у меня есть API, основанный на камне devise_token_auth.извлечение как JSON, так и заголовков из fetch()
Я использую fetch
размещать знак в запросе:
const JSON_HEADERS = new Headers({
'Content-Type': 'application/json'
});
export const postLogin = ({ email, password }) => fetch(
`${API_ROOT}/v1/auth/sign_in`, {
method: 'POST',
headers: JSON_HEADERS,
body: JSON.stringify({ email, password })
});
// postLogin({ email: '[email protected]', password: 'whatever' });
Это работает, и я получаю ответ 200 и все данные мне нужно. Моя проблема заключается в том, что информация делится между телом ответа и заголовками.
- Body: Информация о пользователе
- Заголовки: доступ-маркер, истечение срока действия и т.д.
Я мог разобрать телу JSON таким образом:
postLogin({ '[email protected]', password: 'whatever' })
.then(res => res.json())
.then(resJson => dispatch(myAction(resJson))
Но тогда myAction
не будет получить любые данные из заголовков (потерянных при разборе JSON).
Есть ли способ получить оба заголовка и корпус от fetch
Запрос? Спасибо!
Привет, спасибо за ваш ответ. К сожалению, 'myAction' должен будет принять обещание в качестве аргумента, поскольку res.json() возвращает его. Мы хотим передать простые данные создателям не-thunk action. – nerfologist