Несмотря на использование await
в нужном месте и отлов любых возможных ошибок, когда токен не определен, следующая функция выдает ошибку «Необработанное отклонение (InvalidTokenError): Указан неверный токен: Невозможно прочитать свойство« заменить »из неопределенного»:
async function authenticateUsingExistingToken() {
const userToken = localStorage.FBIdToken;
if (userToken) {
const decodedToken = jwtDecode(userToken);
if (decodedToken.exp * 1000 < Date.now()) {
resetUserContext();
localStorage.FBIdToken = "";
} else {
axios.defaults.headers.common["Authorization"] = userToken;
try {
const responseObj = await axios.get("/user");
setUserStates(responseObj.data);
} catch (err) {
console.error("Authentication Error! err: ", err);
}
}
} else {
resetUserContext();
}
}
authenticateUsingExistingToken();
setUserStates
и resetUserContext
делают только некоторые setStates, используя React Hooks. Единственное обещание для извлечения данных - это когда я использовал await
.
. Буду признателен, если вы дадите мне несколько идей о том, почему выдается такая ошибка. Консоль сообщает, что ошибка произошла в последней строке функции, где }
закрывает ее!
Вот полный стек ошибок:
./node_modules/jwt-decode/lib/index.js
C:/MY_FOLDER/client/node_modules/jwt-decode/lib/index.js:9
__webpack_require__
C:/MY_FOLDER/client/webpack/bootstrap:785
fn
C:/MY_FOLDER/client/webpack/bootstrap:150
Module../src/components/Auth/SignInUp/SignInUp.js
http://localhost:3000/static/js/main.chunk.js:374:68
__webpack_require__
C:/MY_FOLDER/client/webpack/bootstrap:785
fn
C:/MY_FOLDER/client/webpack/bootstrap:150
Module../src/containers/App/App.js
http://localhost:3000/static/js/main.chunk.js:2599:92
__webpack_require__
C:/MY_FOLDER/client/webpack/bootstrap:785
fn
C:/MY_FOLDER/client/webpack/bootstrap:150
Module../src/index.js
http://localhost:3000/static/js/main.chunk.js:3173:77
__webpack_require__
C:/MY_FOLDER/client/webpack/bootstrap:785
fn
C:/MY_FOLDER/client/webpack/bootstrap:150
1
http://localhost:3000/static/js/main.chunk.js:3328:18
__webpack_require__
C:/MY_FOLDER/client/webpack/bootstrap:785
checkDeferredModules
C:/MY_FOLDER/client/webpack/bootstrap:45
Array.webpackJsonpCallback [as push]
C:/MY_FOLDER/client/webpack/bootstrap:32
(anonymous function)
http://localhost:3000/static/js/main.chunk.js:1:67