鍍金池/ 問答/Java  Android/ Android Rxjava2 多次有條件的網(wǎng)絡(luò)請求

      Android Rxjava2 多次有條件的網(wǎng)絡(luò)請求

      假設(shè)我們有這樣一個需求,開始時通過傳入的一個參數(shù)訪問網(wǎng)絡(luò)API,然后根據(jù)返回結(jié)果來再次進行請求,假設(shè)返回true 我們就不進行訪問了轉(zhuǎn)而做其他操作,如果為false 則我們必須傳入另外一個參數(shù)再次進行訪問網(wǎng)絡(luò)操作,如果返回的參數(shù)假設(shè)為true 我們就不再進行訪問轉(zhuǎn)而做其他操作,如果為false 則我們重復(fù)上述操作,直到所有的參數(shù)都嘗試完畢,如果全部參數(shù)都傳完后,服務(wù)器返回結(jié)果還是為false,則我們就取消操作。
      請問如何組合Rxjava2中的操作符來實現(xiàn)上述需求,我嘗試過利用map 和flatMap來實現(xiàn)該功能,但是由于返回true和返回false的操作不同,我無法根據(jù)不同返回結(jié)果返回不同Observable。網(wǎng)絡(luò)請求用的是retrofit

      回答
      編輯回答
      別傷我

      使用fliter+switchIsEmpty+flitermap就可以了

      2017年10月13日 07:14
      編輯回答
      冷溫柔

      難道不是用遞歸會更好些,未必非要局限在用單一Observable和操作符一次完成進行吧。結(jié)合RxJava,異步請求訪問結(jié)束后更具結(jié)果來進行判斷并帶參數(shù)進行方法遞歸再次進行。

      2018年3月22日 23:40