自主学习之RxSwift(二) -----flatMap

本文通过一个实际需求案例,展示了如何使用RxSwift处理网络请求的依赖问题。首先封装了一个获取时间戳的网络请求方法,然后利用flatMap操作符依次处理头像上传和用户信息设置的请求,确保每个请求依赖前一个请求的结果。flatMap在这里起到了连接不同网络请求并传递结果的作用。
摘要由CSDN通过智能技术生成

最近项目中有这么一个需求,下面是三个网络请求

A.从服务器获取到时间戳(GET 方法,获取 timeLine)

B.进行用户头像上传,获得回传的URL(POST方法,参数为 userId, timeLine,Image )

C.对用户信息进行设置(POST方,参数为 timeLine, avatarURL, userId)


对这个情景简单分析,不难得出一个结论,B依赖于A的返回结果,C依赖于A,B的返回结果,这个时候如果按照我们普通的做法,其实是很麻烦的一件事情,想必大家也都知道该怎么做,下面不妨来看下RxSwift的例子,来看看他到底多强大。

首先是一个网络请求的方法封装:(此处以获取timeLine为例,其他方法基本相同)


    func rx_getTimeStamp() -> Observable<AnyObject> {

        return Observable.create({ (observer) -> Disposable in

            let request = Alamofire.request(.GET, BaseUrl + NetAPI.GetTimeStamp.rawValue)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值