给定401状态时如何处理多个异步API的重试?

时间:2019-06-07 10:55:45

标签: request queue axios http-status-code-401 retry-logic

在我的页面上,我总共调用了4个独立的APIS。因此,如果令牌到期,我将给予401状态以重试。

我正在使用AXIOS API请求。所以在我的拦截器代码中,我正在处理错误。对于401,我正在调用一个函数以获取新的accessToken并将其设置在标题中并重新调用API。

if (error.status===401) {
 return getToken().then(response => { //getToken is a function to get new accessToken
   // update the error config with new token
  error.config.__isRetryRequest = true;
  error.config.headers.token= localStorage.getItem("accessToken");
  // retrying the api after new token
  return client(error.config);
});

通过此代码,它每次在401发生时都会调用getToken函数,但假设我在一页中有4个api,那么我只想调用一次getToken并获取新令牌并更新所有4个api,然后重试所有4个。

0 个答案:

没有答案