It seems there's no Join or GroupJoin Operator in RxSwift: http://reactivex.io/documentation/operators/join.html
Since that seems to be the only operator where one Observable defines a _window_ during which processing takes place, I'd hereby humbly request the addition of said operator :) (I'm not experienced enough to do it myself, yet.)
Hi @DivineDominion ,
can you maybe explain in what context do you need that operator?
I solved it with a totally different set-up now -- which I like better, because it lifts what I needed into a type, i.e. buffering changes to the content on-screen (so that they don't get lost and can be autosaved) VS forcing display of new values. If I remember correctly, the operator description of join sounded like a good opportunity to convey "editing started/editing stopped" somehow and only dispatch change events for saving when editing did start.
Now I don't need join anymore, but it still would be nice if RxSwift supported that, too, for the sake of feature parity with other platforms.
Hi @DivineDominion ,
If I remember correctly, the operator description of join sounded like a good opportunity to convey "editing started/editing stopped" somehow and only dispatch change events for saving when editing did start.
I'm glad you've found a way to solve this issue without this operator.
We need to have compelling reasons to introduce new operator into this library because maintaining code isn't cheap and https://github.com/ReactiveX/RxSwift/issues/1067 .
It's pretty trivial to add lines of code but it's extremely difficult to remove them :)
I'm fine with adding all operators but not at this time :)
@kzaher If I can belatedly add a comment as to what context having that operator would be nice: I have two observables that I'd like to combine together into one observable to do something when both observables each emit an event. However, each observable can emit events at different intervals and I'd only like the combined observable to fire when those events happen within a restricted window of time. It seems like the opposite of .throttle(). From what I've read of .join(), it seems like this may be what I'm looking for. I've tried .zip() but it doesn't serve my purpose, as the combined observable will be fired at some point in the future when both observables have emitted an event, and that could take place at a long interval between the two source observables emitting events.
For example, if I've combined two observables together into a new one I'd only like it to fire if both of its source observables each emit an event within an _n_ RxTimeInterval of each other. Does something like that already exist in RxSwift? Thanks!
Most helpful comment
@kzaher If I can belatedly add a comment as to what context having that operator would be nice: I have two observables that I'd like to combine together into one observable to do something when both observables each emit an event. However, each observable can emit events at different intervals and I'd only like the combined observable to fire when those events happen within a restricted window of time. It seems like the opposite of
.throttle(). From what I've read of.join(), it seems like this may be what I'm looking for. I've tried.zip()but it doesn't serve my purpose, as the combined observable will be fired at some point in the future when both observables have emitted an event, and that could take place at a long interval between the two source observables emitting events.For example, if I've combined two observables together into a new one I'd only like it to fire if both of its source observables each emit an event within an _n_
RxTimeIntervalof each other. Does something like that already exist inRxSwift? Thanks!