繁体   English   中英

重构令牌刷新动作

[英]Refactoring token refreshment action

我想问一下用 TypeScript 重构这个动作创建者的可能方法是什么。 将不胜感激所有的建议!

export const handleFetchData =
  (accessToken: string, refreshToken: string) => async (dispatch: Function) => {
    authentification.interceptors.response.use((response) => {
      if (response.data.statusCode === 200) {
        dispatch({ type: "USER_ME", payload: response });
      } else {
        axios({
          method: "post",
          url: "http://142.93.134.108:1111/refresh",
          headers: { Authorization: `Bearer ${refreshToken}` },
        }).then((res) => {
          localStorage.setItem("accessToken", res.data.body.access_token);
          localStorage.setItem("refreshToken", res.data.body.refresh_token);
          axios
            .get("http://142.93.134.108:1111/me", {
              headers: {
                Authorization: "Bearer " + localStorage.getItem("accessToken"),
              },
            })
            .then((reply) => dispatch({ type: "USER_ME", payload: reply }));
        });
      }
      return response;
    });
    await authentification.get("http://142.93.134.108:1111/me", {
      headers: {
        Authorization: "Bearer " + accessToken,
      },
    });
  };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM