我正在使用axios拦截器来检查每个请求的身份验证令牌。这很好。但是当from PIL import Image
from pytesseract import pytesseract
text = pytesseract.image_to_string(Image.open("uploaded_image.png"))
print(text)
为空时,accessToken
被触发两次。有没有办法等待getToken()
完成?我只希望getToken
触发一次。需要令牌的其他请求应等待,直到getToken
完成。
getToken
答案 0 :(得分:0)
您可以多次await
作出承诺。
所以可以尝试这样的事情
let tokenPromise = null;
api.interceptors.request.use(
async config => {
let token = window.localStorage.getItem("accessToken");
if (!token) {
if (!tokenPromise) {
tokenPromise = getToken();
}
token = await tokenPromise;
console.log("1. save token to local storage", token);
window.localStorage.setItem("accessToken", token);
}
config.headers.Authorization = `Bearer ${token}`;
...