尽管在正确的位置使用await
并捕获任何可能的错误,但未定义令牌时,以下函数会引发错误“未处理的拒绝(InvalidTokenError):指定的令牌无效:无法读取未定义的属性'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();
如果您能给我一些有关为什么会引发这种错误的想法,我将不胜感激。控制台报告错误,该错误发生在该函数的最后一行,其中
}
正在关闭该错误!
尽管在正确的位置使用了await并捕获了任何可能的错误,但是当未定义令牌时,以下函数将引发错误“未处理的拒绝(InvalidTokenError):无效的令牌...
基于未定义的userToken值和您的错误位置(尽管它应基于错误堆栈),可能已从resetUserContext()
引发了异常。