我在我的React项目中使用redux-saga
,API使用OAuth2。现在,我需要开发重新验证功能。
每个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();
]);
}
}
因此未按顺序调用操作。在第一个动作之前未调用第二个动作。
我如何将await
应用于自己的行为?