Because of the behavior of start(), different Signals created from the producer may see a different version of Events. The Events may arrive in a different order between Signals, or the stream might be completely different!
Any example to above statement?
This is just speaking to the asynchronous nature of FRP and RAC. An example would be fetching large chunks of data from an API and doing something with the responses.
this is the purpose of
flatMapand theFlattenStrategymethods (.Latestwill get you the data in the order it comes in,.Concatwill preserve order)An example would be retrieving an array of objects.
.Latestwill return each obj as it is received..Concatwill return the Array of objects in the original order. If one object takes a long time to download, the system will wait for it before proceeding to the other objects.Another example is getting some JSON and handling it appropriately: