You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
When creating an Observable with Defer, every call to Observe restarts the producer and every observer gets the same values.
But this is not the case when the Observable is transformed with operators that itself call Observe on that Observable, like CombineLatest. In contrast to that, the Map operator is respecting the Defer origin of the Observable.
The Producer is called only once. Depending on the scheduling 1, 2, 3 is distributed on rr1 and rr2, when no more values are available, rr1, rr2 get nils from the closed channels.
Expected behavior
Both observers should get the 1, 2, 3.
Additional context
The same pattern is working with System.Reactive.Linq in dotnet.
The text was updated successfully, but these errors were encountered:
When the workaround is used, the whole operator chain called in the producer, with all its goroutines, is duplicated. It would be better if the multiplexing of the transformed value takes place after the operator chain.
Describe the bug
When creating an Observable with Defer, every call to Observe restarts the producer and every observer gets the same values.
But this is not the case when the Observable is transformed with operators that itself call Observe on that Observable, like CombineLatest. In contrast to that, the Map operator is respecting the Defer origin of the Observable.
To Reproduce
Steps to reproduce the behavior:
The Producer is called only once. Depending on the scheduling 1, 2, 3 is distributed on rr1 and rr2, when no more values are available, rr1, rr2 get nils from the closed channels.
Expected behavior
Both observers should get the 1, 2, 3.
Additional context
The same pattern is working with System.Reactive.Linq in dotnet.
The text was updated successfully, but these errors were encountered: