Повторная аутентификация с помощью Redux-Saga - PullRequest
0 голосов
/ 05 ноября 2018

Я использую redux-saga в своем проекте React, API использует OAuth2. Теперь мне нужно разработать функцию re-authen.

Каждый запрос на обслуживание API отправляет access_token в заголовок. Когда срок действия access_token истечет, я хотел бы получить новый токен с refresh_token.

У меня есть компонент, вызовите 4 действия для вызова API, например:

class MyComponent extends React.Component {
    componentWillMount() {
        this.props.getData1();
        this.props.getData2();
        this.props.getData3();
        this.props.getData4();
    }
}

Итак, когда токен истек, getData1() вызовите API обновления токена, дождитесь ответа нового токена и вызовите самого себя. getData2(), getData3() и getData4() не отправили новый токен. Я обновляю свой скрипт на:

class MyComponent extends React.Component {
    awaitFunction(functions) {
        functions.map(async (_function) => await _function());
    }

    componentWillMount() {
        this.awaitFunction([
            this.props.getData1();
            this.props.getData2();
            this.props.getData3();
            this.props.getData4();
        ]);
    }
}

Так что действия не были вызваны по порядку. 2-е действие не было вызвано до 1-го действия.

Как мне применить await к своим действиям?

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