當使用Rx(特別是RxJava)時,是否有一個操作符會將輸入變量與函數的輸出一起打包,以便在下一步中使用它們?任何返回輸入變量和結果的Rx運算符?
例如,假設我從推文ID列表開始,我的程序a)進行REST調用以獲取該推文的文本,並b)將該ID和文本保存到本地數據庫中。普通的「地圖」將返回步驟a的文本,但會丟棄原始ID。在代碼:
Observable.from(tweet_id_list)
.specialMap(i -> getTweetText(i)) // is there a "specialMap" which returns the string result AND ALSO the id?
.map((i, s) -> saveToLocalDB(i, s) // because we need both for the ensuing function
我砍死getTweetText(i)
與兩個變量,而不是一個簡單的字符串返回一個HashMap,但如果有一個的Rx運營商可能做到這一點,而無需修改底層函數這將是非常有用的。
除非你有兩個地圖之間的事情,你可以簡單地將兩者結合成一個單一的功能:src.map(I - > saveToLocalDB(I,getTweetText(I)))。 – akarnokd