Skip to content
Snippets Groups Projects
Commit e9ecda5e authored by Jens Nolte's avatar Jens Nolte
Browse files

Call async only once for liftA2 Observable


Co-authored-by: default avatarJan Beinke <git@janbeinke.com>
parent 927df973
No related branches found
No related tags found
No related merge requests found
...@@ -237,9 +237,8 @@ data LiftA2Observable r = forall r0 r1. LiftA2Observable (r0 -> r1 -> r) (Observ ...@@ -237,9 +237,8 @@ data LiftA2Observable r = forall r0 r1. LiftA2Observable (r0 -> r1 -> r) (Observ
instance IsRetrievable r (LiftA2Observable r) where instance IsRetrievable r (LiftA2Observable r) where
retrieve (LiftA2Observable fn fx fy) = liftQuasarIO do retrieve (LiftA2Observable fn fx fy) = liftQuasarIO do
-- LATER: keep backpressure for parallel network requests -- LATER: keep backpressure for parallel network requests
x <- async $ retrieve fx future <- async $ retrieve fy
y <- async $ retrieve fy liftA2 fn (retrieve fx) (await future)
liftA2 fn (await x) (await y)
instance IsObservable r (LiftA2Observable r) where instance IsObservable r (LiftA2Observable r) where
observe (LiftA2Observable fn fx fy) callback = ensureQuasarSTM do observe (LiftA2Observable fn fx fy) callback = ensureQuasarSTM do
...@@ -254,10 +253,9 @@ instance IsObservable r (LiftA2Observable r) where ...@@ -254,10 +253,9 @@ instance IsObservable r (LiftA2Observable r) where
pingObservable (LiftA2Observable _ fx fy) = liftQuasarIO do pingObservable (LiftA2Observable _ fx fy) = liftQuasarIO do
-- LATER: keep backpressure for parallel network requests -- LATER: keep backpressure for parallel network requests
x <- async $ pingObservable fx future <- async $ pingObservable fy
y <- async $ pingObservable fy pingObservable fx
await x await future
await y
--data BindObservable r = forall a. BindObservable (Observable a) (a -> Observable r) --data BindObservable r = forall a. BindObservable (Observable a) (a -> Observable r)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment