Alamofire - 重试离线请求的最佳方式

时间:2016-10-17 15:10:13

标签: swift alamofire

这就是我需要的:

  1. call post api
  2. 如果成功:什么都不做
  3. 如果失败(没有互联网可用):将请求放到堆栈
  4. 监控网络是否已经回来
  5. 如果网络可用:重试该堆栈上的所有内容
  6. 即使用户关闭应用程序,我仍然需要提供堆栈。我需要将堆栈存储到磁盘上

    这是我打算做的事情:

    1. 有一个名为apiRequest的类,它包含
      1. 参数
      2. URL
    2. 有一个名为apiRequestManager的类,它包含
      1. apiRequest数组
    3. apiRequest数组存储在磁盘上。每当用户想要调用api时,我首先调用Alamofire.request,如果失败,则将其放入apiRequest数组。

      使用NetworkReachabilityManager监听用户是否可以访问服务器。如果为true,则在apiRequest中重试所有内容。每次请求成功时,将其从阵列中删除。否则保持原样。

      我问这个问题的原因是因为我是Alamofire框架的新手。我不知道这是否是一个好的方法,或者这个案例是否已经在Alamofire处理过。

      此外,还有一个RequestRetrier协议。但我不想一次又一次地重试每一个请求,我想同时重试所有请求,如果不成功,我确实想将请求存储到磁盘上以备将来重试,所以我想这是不是我想用的?

      有什么建议吗?

      感谢。

0 个答案:

没有答案