Как использовать функцию генератора в качестве обратного вызова внутри слушателя событий - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть функция генератора, которая обрабатывает аутентификацию и отправляет действие в хранилище избыточностей. Эта функция должна быть выполнена для события.

Как я могу использовать это как обратный вызов внутри прослушивателя событий?

Это функция:

export function* authentication({ data }) {
  // Data structure {
  //   action: 'authentication',
  //   id: '7293847829109932,
  //   displayName: 'User Name',
  //   avatar: 'https://steamcommunity.com/images/user.png',
  //   access: 'access_token_string',
  //   refresh: 'refresh_token_string',
  // }

  // Will dispatch the success action if the data is correct

  if (data.action === 'error') {
    return yield put(signInFailure(data.message));
  }
  if (data.action === 'authentication') {
    localStorage.setItem('dualbits:access', data.access);
    localStorage.setItem('dualbits:refresh', data.refresh);
  }

  return yield put(signInSuccess(data));
}

Прослушиватель событий:

 window.addEventListener('message', authentication, false);
...