gpt4 book ai didi

javascript - 使用异步和等待未处理的拒绝(InvalidTokenError)

转载 作者:行者123 更新时间:2023-12-03 08:43:17 25 4
gpt4 key购买 nike

尽管在正确的位置使用了await并捕获了所有可能的错误,但是当未定义 token 时,以下函数将引发错误“未处理的拒绝(InvalidTokenError):指定的 token 无效:无法读取未定义的属性'replace'”:

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();
setUserStatesresetUserContext仅使用React Hooks执行一些setState。唯一的数据获取 promise 是我使用 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

最佳答案

基于userToken的值未定义和您的错误位置(尽管它应基于错误堆栈),可能已从resetUserContext()引发了异常。

如果可能,您可以共享该功能吗?在隐藏任何敏感数据之后。

关于javascript - 使用异步和等待未处理的拒绝(InvalidTokenError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59738729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com