diff --git a/packages/core/src/useStateObservable.ts b/packages/core/src/useStateObservable.ts index 30bc58ba..d27a2a8c 100644 --- a/packages/core/src/useStateObservable.ts +++ b/packages/core/src/useStateObservable.ts @@ -1,6 +1,7 @@ import { DefaultedStateObservable, liftSuspense, + NoSubscribersError, StateObservable, StatePromise, SUSPENSE, @@ -26,7 +27,11 @@ export const useStateObservable = ( if (!callbackRef.current) { const getValue = (src: StateObservable) => { const result = src.getValue() - if (result instanceof StatePromise) throw result + if (result instanceof StatePromise) + throw result.catch((e) => { + if (e instanceof NoSubscribersError) return e + throw e + }) return result as any }