Implement a `combineLatest` transform
natebosch opened this issue · comments
Nate Bosch commented
I'd expect usage to look like this:
firstStream.transform(combineLatest(secondStream, (a, b) => a + b));
I'd expect us to not pass null
to the combine in case one of the streams hasn't emitted yet - to get that behavior you'd could use a startWith
to force an "immediate" start for one or both streams.
Nate Bosch commented
Open question on the signature - should the combine
callback allow a FutureOr
return?
If we allow it - what sort of ordering guarantees should we give?
Nate Bosch commented
I think we should allow FutureOr
, and we should use the same subscription pausing approach as asyncMap
in the core stream implementation to give the ordering guarantees