Я работаю над приложением React Native, которое использует jwt tokens
для доступа к моему бэкэнд-API. Я пытаюсь сохранить токен в AsyncStorage
, но похоже, что я неправильно использую async
.
У меня есть утилита, которая помогает мне установить мои параметры fetch
, и здесь я пытаюсь также получить jwt token
из AsyncStorage
, но я не смог правильно использовать async
, чтобы получить знак Либо я получаю то, что выглядит как невыполненное обещание, либо получаю ошибку, которая говорит мне, что я неправильно использую await
.
Я мог бы использовать некоторую помощь в правильном чтении jwt token
в моей утилите fetch
.
Вот как выглядит моя утилита:
import { getAccessToken } from '../utils/my-utils';
export const fetchOptionsGet = async () => {
getAccessToken().then(token => {
return {
method: 'GET',
mode: 'cors',
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + token
}
};
});
}
А это код для getAccessToken()
функции:
import { AsyncStorage } from "react-native";
export const getAccessToken = async () => {
const accessToken = await AsyncStorage.getItem("access_token");
return accessToken;
};
Думаю, проблема в том, что, поскольку я вызываю функцию async
из моей функции fetchOptionsGet()
, она также становится функцией async
. В моем методе API, когда я пытался вызвать его с ключевым словом await
, я получаю ошибку компиляции. Если я перевожу мой fetch
вызов моего API внутри .then(token => { // API call here })
, то получаю ошибку react-redux
, сообщающую, что моя функция должна возвращать простой объект.
Как правильно читать мой jwt token
и использовать его в моем fetch
звонке?