使用RAC重构网络请求

作者: 乡村武装青年 | 来源:发表于2016-02-06 16:35 被阅读1498次

过年放假回家,打算在家把之前项目中使用的网络请求用RAC的信号重构一遍。

接触到rac以来一直没有系统的应用到实战中,搜到的一些资料也只是介绍这个框架的特性及其用法。过年在家中闲着无事,结合几位大牛的博客,和一些开源的项目终于找到一些灵感,做了网络请求的封装。初次尝试,有很多不足,这篇文章作为记录。

使用到的库:

AFNetworking

RAC

首先,创建基类网络请求:

这里只定义了4中基本请求

由于需要使用用到AFHTTPSessionManager 的意思私有方法,所以需要把接口引用出来。

这部分只是为了调用这个接口

接下来就是具体使用anf做网络请求之后用信号传递传递结果。rac的信号传递好比 一个水管中的水,这个比喻随着学习的深入,越来越能体会的到。

在实际请求中,很多时候网络请求会失败,或者我们的服务器采用auth认证,登陆之后的token在过一段时间之后会过期,这时候会需要我们做重新登陆的换取token 的操作。

token失效之后,重新获取token的操作。

以上部分就是基础类的构建,接下来只需要根据业务不同,创建不同的子类继承基础类就行了。

such as:

demo地址:demo : https://github.com/lforme/RACRefreshTokenDemo

用swift写的

相关文章

  • 使用RAC重构网络请求

    过年放假回家,打算在家把之前项目中使用的网络请求用RAC的信号重构一遍。 接触到rac以来一直没有系统的应用到实战...

  • 请求都是用RAC

    R�eactiveCocoa代码实践之-RAC网络请求重构前言RAC相比以往的开发模式主要有以下优点:提供了统一的...

  • APP重构之路 网络请求框架

    APP重构之路 网络请求框架 APP重构之路 网络请求框架

  • 解耦-用RAC处理网络请求

    最近接手的项目中使用了RAC,也研究学习了下,发现使用RAC确实清晰便利了许多,下面记录一下用RAC处理网络请求实...

  • RAC(四)

    本demo详见github 1.RAC+MVVM 2.RAC+MVVM-网络请求 友情链接: RAC(一) RAC...

  • APP重构之路 Model的设计

    APP重构之路 网络请求框架 APP重构之路 Model的设计 前言 很多的app使用MVC设计模式来将“用户交互...

  • RAC 综合一

    RAC 综合一:模仿登录模块的网络请求 RAC(self.loginBtn,enabled) = [RACSign...

  • RAC+MVVM

    MVVM:使用MVVM模式将网络请求以及数据处理放到VM中,主要减轻控制器的负担,使用RAC中的RACComman...

  • 2020-06-18

    Protobuf For Swift 公司项目重构,为了优化网络请求响应的时间, 需将部份数据使用protobuf...

  • APP重构之路 网络请求框架

    APP重构之路 网络请求框架 APP重构之路 Model的设计 前言 在现在的app,网络请求是一个很重要的部分,...

网友评论

  • 镜像:能不能写下多请求并发时刷新token的例子,刚开始学rac,有点想不明白,谢谢
    乡村武装青年:@镜像 我今天晚上写一个例子
  • 492e423db474:求demo
    492e423db474:@乡村武装青年 大神demo地址是什么~~~
    492e423db474:@乡村武装青年 谢谢大神~~:+1:
    乡村武装青年:@起个名真TMD难 等我回家把demo放出来
  • 镜像:求demo
  • b4067f4d3883:你好,刚看了你的这篇文章,想请教下:你在RACDisposable里面op cancel,是出于什么考虑?
    乡村武装青年:@yuanyi__ 当信号被销毁的时候, 取消网络的IO
  • 诸葛凌峰:关于token过期这块 不知道楼主在多个网络请求并发的时候是怎么处理的啊
    乡村武装青年:@诸葛凌峰 只能加锁了.
    诸葛凌峰:@乡村武装青年 嗯,我细看了你的代码这样单个网络请求没问题。但假如有3个请求在外面飞,这时候都会遇到过期的错误,落地时不就都要刷新一下token,如果多线程情况下,会不会出现问题?要对token加锁吗?
    乡村武装青年:@诸葛凌峰 给signal加一个category去对error catch,捕获到错误之后执行刷新的token的signal,然后忽略掉信号的value,在contact 之前的信号,这样无论那个信号出了需要刷新error的错误,他都能保证在刷新过token之后重放你之前的那个动作也就是执行之前的请求
  • dc0db66b3d58:跪求demo
    JasmineTeaS:@乡村武装青年 求demo
    乡村武装青年:@kynethy 我私信给你
  • 火星的蝈蝈:谢谢博主,最近在研究RAC,写的非常好。 :+1:
    乡村武装青年:@火星的蝈蝈 谢谢鼓励😄

本文标题:使用RAC重构网络请求

本文链接:https://www.haomeiwen.com/subject/hskykttx.html