在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

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

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

回答
編輯回答
別傷我

使用fliter+switchIsEmpty+flitermap就可以了

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

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

2018年3月22日 23:40