使用RAC重構(gòu)網(wǎng)絡(luò)請(qǐng)求

過年放假回家,打算在家把之前項(xiàng)目中使用的網(wǎng)絡(luò)請(qǐng)求用RAC的信號(hào)重構(gòu)一遍。

接觸到rac以來一直沒有系統(tǒng)的應(yīng)用到實(shí)戰(zhàn)中,搜到的一些資料也只是介紹這個(gè)框架的特性及其用法。過年在家中閑著無事,結(jié)合幾位大牛的博客,和一些開源的項(xiàng)目終于找到一些靈感,做了網(wǎng)絡(luò)請(qǐng)求的封裝。初次嘗試,有很多不足,這篇文章作為記錄。

使用到的庫:

AFNetworking

RAC

首先,創(chuàng)建基類網(wǎng)絡(luò)請(qǐng)求:

這里只定義了4中基本請(qǐng)求

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


這部分只是為了調(diào)用這個(gè)接口

接下來就是具體使用anf做網(wǎng)絡(luò)請(qǐng)求之后用信號(hào)傳遞傳遞結(jié)果。rac的信號(hào)傳遞好比 一個(gè)水管中的水,這個(gè)比喻隨著學(xué)習(xí)的深入,越來越能體會(huì)的到。


在實(shí)際請(qǐng)求中,很多時(shí)候網(wǎng)絡(luò)請(qǐng)求會(huì)失敗,或者我們的服務(wù)器采用auth認(rèn)證,登陸之后的token在過一段時(shí)間之后會(huì)過期,這時(shí)候會(huì)需要我們做重新登陸的換取token 的操作。


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


以上部分就是基礎(chǔ)類的構(gòu)建,接下來只需要根據(jù)業(yè)務(wù)不同,創(chuàng)建不同的子類繼承基礎(chǔ)類就行了。

such as:


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

用swift寫的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中。。。 其實(shí)如果沒有APIManager這一層是沒法使用delegate的,畢竟多個(gè)單...
    yhtang閱讀 5,490評(píng)論 1 23
  • RAC使用測(cè)試Demo下載:github.com/FuWees/WPRACTestDemo 1.ReactiveC...
    FuWees閱讀 6,651評(píng)論 3 10
  • 2017.02.22 可以練習(xí),每當(dāng)這個(gè)時(shí)候,腦袋就犯困,我這腦袋真是神奇呀,一說讓你做事情,你就犯困,你可不要太...
    Carden閱讀 1,490評(píng)論 0 1
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • 看到這個(gè)題目,很多人要炸毛了——你怎么能這樣否認(rèn)善良和感恩兩個(gè)這么美好的人類品質(zhì)呢? 那我問你幾個(gè)問題。 第一個(gè)問...
    玉妃說閱讀 806評(píng)論 0 2

友情鏈接更多精彩內(nèi)容