前言
最近工作中有一个需求是:如果这个请求超时,则进行重试,且重试次数可配置。
首先我们发请求使用的库为:Axios
,其处理请求的位置,是在 redux-observable
中的 epic
里。
那么如果要完成重试机制的话,有两种办法:
- 在对
Axios
封装的函数里添加重试代码 - 在
epic
里,使用RxJS
操作符进行重试。
关于 Axios
重试的,其实比较麻烦的,而且需要在原有封装好的函数里,继续添加重试代码,总感觉不太好。且维护起来也不太方便。于是那就使用 RxJS
操作符进行重试吧。本文代码将不会套用项目代码,而是重新写一个 Demo
,方便理解。