Diyelim ki her an değer yayabilecek iki sonsuz Gözlemcim var. Bir Observable<ProcessFileEvent>
oluşturmak için birleştirirler.RxJava- CombineLatest ama sadece bir Gözlenebilir emisyon için ateş mi?
Observable<Integer> selectedFileId= ...
Observable<MouseClick> buttonClick = ...
Observable<ProcessFileEvent> `processFileEvent` = Observable.combineLatest(selectedFileId, buttonClick, (s,b) -> {
//create ProcessFileEvent here
});
sorun buttonClick
selectedFileId
şey değil yayar zaman sadece processFileEvent yayarlar istemeniz. Bir kullanıcı bir dosya kimliği girildiğinde beklediği davranış değildir ve ProcessFileEvent
'u başlatır. Nasıl birleştiririm, ancak yalnızca buttonClick
yayarken yayar?
Bu mantıklıdır. Bir hızlı soru. Yayımlanan her öğe için '(') '' ('' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' 'yazıyor mu? – tmn
bir HashSet dahili olarak kullanılır. MouseClick için hashCode()/equals() öğesini uyguladıysanız, istediğiniz şey daha iyi olur. Onları uygulamamışsanız, o zaman sadece nesne referansı eşitliğini kullanacaktır. Ah, bu fazla mesai, distinctUntilChanged kullanmamız gerektiğini fark ettim. Güncelleme yapacağım. –
Bu distinctUntilChanged kullanıldığında, HashSet kullanılmıyor ama equals() yöntemi farklı kontrol için kullanılıyor, böylece hala istediğiniz gibi davranarak hashCode()/equals() 'a ihtiyacınız var. –