在对象中的功能之前运行检查功能

时间:2019-06-14 23:29:59

标签: javascript reactjs ecmascript-6 redux promise

我有一个访存器对象,在运行该对象的任何功能之前,我要运行令牌检查。我想知道是否有一种方法可以首先运行检查,然后进行获取,发布,放置..ect。我的提取对象如下所示:

const Fetcher = {
  get: async () => {
    //fetch stuff and return a promise
  },
  post: async () => {
    //fetch stuff and return a promise
  }
  ...ect.
}

在获取任何内容之前,我想检查令牌的到期时间,如下所示:

const checkToken = async () => {
  const exp = Store.getState().auth.tokenExp;

  //check if theres an expiration set
  if (!exp) {
    Store.dispatch({ type: LOGOUT });
    sessionStorage.removeItem('user');
    return false;
  }

  //check if token is not expired
  if (Date.now() < exp * 1000) return true;

  //if token is expired logout and return true
  Store.dispatch({ type: LOGOUT });
  sessionStorage.removeItem('user');
  return false;
};

我开始在这里做很多事情,我试图使其变得更简单。我正在使用react和redux,所以我已经从组件-> redux操作-> fetcher对象->令牌检查开始了,我只是想知道是否有任何简单的方法可以在继续进行get,post,put之前运行检查。 .ect函数除了编写另一个包装函数外。我可以对每个功能进行检查,但我想知道是否有更好的方法。

0 个答案:

没有答案