diff --git a/src/Quasar/Observable.hs b/src/Quasar/Observable.hs index 5efc5424e77500bf827095d2ccd7a2fb2ea0028b..7b817faa40e1db3c4402f510149d5d69138977fa 100644 --- a/src/Quasar/Observable.hs +++ b/src/Quasar/Observable.hs @@ -9,6 +9,7 @@ module Quasar.Observable ( Observable(..), ObservableMessage(..), asyncObserve, + asyncObserve_, -- * ObservableVar ObservableVar, @@ -120,6 +121,9 @@ class IsRetrievable v o => IsObservable v o | o -> v where asyncObserve :: IsObservable v o => MonadAsync m => o -> (ObservableMessage v -> m ()) -> m Disposable asyncObserve observable callback = toDisposable <$> async (observe observable callback) +asyncObserve_ :: IsObservable v o => MonadAsync m => o -> (ObservableMessage v -> m ()) -> m () +asyncObserve_ observable callback = async_ (observe observable callback) + data ObserveWhileCompleted = ObserveWhileCompleted deriving (Eq, Show)