我正在使用包装API的类。它利用了Axios。为了向API发出请求,我需要一个JWT令牌,该令牌是使用api密钥通过另一个请求检索的:
async setAuthorizationHeader() {
const res = await this.Axios.post('/login', {
api_key: ''
});
this.AuthToken = res.data.token
this.Axios.defaults.headers.common['Authorization'] = `Bearer ${res.data.token}`
}
一旦脚本被加载并且setAuthorizationHeader
方法在构造函数中运行,实例化该类,因此它在开始时发出登录请求。我的问题是,如果我想在页面加载时运行另一个API调用,因为我们还没有获得令牌,所以我将收到401消息,所以我不能。
这是我班上的另一个方法,我也将在页面加载时运行该方法:
async getPromotions() {
const response = await this.Axios({
method: 'POST',
url: '/promotions',
data: {
...this.baseData,
}
})
return response.data
}
在运行getPromotions
请求之前,有什么方法可以等待授权步骤完成吗?
答案 0 :(得分:0)
这样,您可以确保所有调用都仅在检索到令牌后才执行。