BehaviorSubject<Integer> a = BehaviorSubject.create(0);
BehaviorSubject<Integer> b = BehaviorSubject.create(0);
Observable.combineLatest(a, b, Cu::pair).subscribe(ignore -> {
Log.d("test", "trigger " + ignore.first + " " + ignore.second);
});
a.onNext(1);
b.onNext(1);
the result is
D/test: trigger 0 0
D/test: trigger 1 0
D/test: trigger 1 1
Is there anyway I can make it only fire once 1 1? because I need the data to be consistent.
Use zip instead?
@JakeWharton it is not necessary a b always fire the same time.
They don't in your test. a clearly fires before b.
@JakeWharton does this helps https://github.com/square/sqlbrite/blob/master/sqlbrite/src/main/java/com/squareup/sqlbrite/BriteDatabase.java#L66 ? A single Subject?
I don't know anything about your use case, but a single subject certainly give you more control over downstream emissions because they happen directly rather than delegating to a combining operator.
thx
Most helpful comment
Use
zipinstead?