[英]How can I generalize the arity of rxjava2 Zip function (from Single/Observable) to n Nullable arguments without lose its types?
[英]How can I stop observing an observable without disposing it in RxJava2?
我對 RxJava2 有一個不尋常的問題。
基本上我們有以下場景:
現在通常我會將所有代碼放入 CompositeDisposable 並根據我的情況調用 clear() 或 dispose () 。 這將在用戶按下返回按鈕后停止觀察上傳的照片。
但是,在這種情況下我不能調用 clear() 或 dispose(),因為它會終止網絡請求。 照片通常為 1-2 mb,通過調用 dispose 它將終止網絡請求..,我怎樣才能停止觀察以前的流量而只觀察未來的上傳? 不終止以前的上傳?
我知道應該有某種方式來通知我的 observable 用戶按下了后退按鈕,但我所有的嘗試似乎都是 hacky 和不干凈的。 我想學習處理這種情況的正確方法。
我認為正確的方法是使用takeUntil
,這樣你就可以取消當前的上傳並在那時完成。 然后您需要使用repeat
再次重新訂閱以供將來上傳。
像這樣的東西:
compositeDisposable += nextButtonClicked
.firstOrError()
.flatMapCompletable {
networkUpload.takeUntil(backButtonClicked).ignoreElements()
}.repeat().subscribe()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.