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

Implement parallel retrieve for liftA2 on Observable


Co-authored-by: default avatarJan Beinke <git@janbeinke.com>
parent ced37626
No related branches found
No related tags found
No related merge requests found
......@@ -229,8 +229,11 @@ instance IsObservable v (MappedObservable v) where
data LiftA2Observable r = forall r0 r1. LiftA2Observable (r0 -> r1 -> r) (Observable r0) (Observable r1)
instance IsRetrievable r (LiftA2Observable r) where
retrieve (LiftA2Observable fn fx fy) =
liftA2 fn (retrieve fx) (retrieve fy)
retrieve (LiftA2Observable fn fx fy) = do
-- LATER: keep backpressure for parallel network requests
x <- async $ retrieve fx
y <- async $ retrieve fy
liftIO $ liftA2 fn (await x) (await y)
instance IsObservable r (LiftA2Observable r) where
observe (LiftA2Observable fn fx fy) callback = do
......
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