chore: improve useObservable implementation

This commit is contained in:
Josep M Sobrepere 2020-06-09 00:26:56 +02:00
parent e750dd13b8
commit ad1c39e19c

View File

@ -20,16 +20,11 @@ const useObservable = <O, I>(
? undefined
: setTimeout(setState, suspenseTime, initialValue)
const stopInitialState = () => {
if (!timeoutToken) return
timeoutToken = clearTimeout(timeoutToken) as undefined
}
const subscription = delayUnsubscription(unsubscribeGraceTime)(
source$,
).subscribe(nextState => {
setState(nextState as any)
stopInitialState()
timeoutToken = timeoutToken && (clearTimeout(timeoutToken) as undefined)
})
return () => subscription.unsubscribe()