Запустите функцию проверки перед функциями в объекте - PullRequest
0 голосов
/ 15 июня 2019

У меня есть объект извлечения, и перед выполнением любой из функций объекта я хочу выполнить проверку токена.Мне было интересно, есть ли способ запустить проверку сначала, а затем перейти к get, post, put ..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;
};

IЯ начинаю много прыгать здесь, и я пытаюсь сделать это более упрощенным.Я использую реагирование и избыточность, поэтому я уже иду из компонента -> действие по избыточности -> объект выборки -> проверка токена, и мне просто интересно, есть ли какой-нибудь простой способ выполнить проверку, прежде чем перейти к get, post, put.Функции .ect помимо написания другой функции-оболочки.Я могу проверить каждую из этих функций, но мне было интересно, есть ли лучший способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...