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
Based on discussions on the es-observable spec repo, it's been collectively determined that subscription and observation must be synchronous by default for performance reasons.
One of the lead examples was groupBy, as pointed out by @trxcllnt... if subscription is always async, you'll potentially have to buffer an unbounded number of values that could be synchronously pushed at newly created "Grouped" Observables.
There's also a smaller matter of incurring extra turns for no real gain if this functional programming type is being used purely functionally.
The danger here is to those that are using mutable state and imperative programming. In those situations, there might be some strange behaviors. It is my view that this should simply be taught to people via warnings and best practices.
The text was updated successfully, but these errors were encountered:
FWIW: For concerns about Zalgo when creating a library such as Angular's data access, the library implementor could use subscribeOn on any observable it returns from itself in order to force an async subscription behavior without effecting the ergonomics for the end user developer.
Based on discussions on the es-observable spec repo, it's been collectively determined that subscription and observation must be synchronous by default for performance reasons.
One of the lead examples was
groupBy
, as pointed out by @trxcllnt... if subscription is always async, you'll potentially have to buffer an unbounded number of values that could be synchronously pushed at newly created "Grouped" Observables.There's also a smaller matter of incurring extra turns for no real gain if this functional programming type is being used purely functionally.
The danger here is to those that are using mutable state and imperative programming. In those situations, there might be some strange behaviors. It is my view that this should simply be taught to people via warnings and best practices.
The text was updated successfully, but these errors were encountered: