我想使用 redux 对以下异步逻辑进行建模:
- 用户操作会触发一系列异步 API 调用。
- 任何 API 调用都可能返回 401 状态(登录超时)
- 如果 API 响应 401,则显示重新登录弹出窗口
- 重新登录成功后,重新发出 API 调用并继续
我不知道把这个逻辑放在哪里。Actions不知道其他actions,它们只有dispatch的权限,所以不能停下来等待它们完成。Reducers 无法访问 dispatch,所以我不能把它放在那里……那么它在哪里?自定义中间件?商店听听?在智能组件中?
我目前正在使用 redux-promise-middleware 和 redux-thunk。如何最好地组织这种类型的流程——而不需要购买像 redux-saga 或 redux-rx 之类的东西?
也不确定透明中断 API 调用以执行其他操作的最佳方法,即 API 调用在可选登录过程完成之前不应触发其完成或失败的操作。