feat: add utility composable for polling values
This commit is contained in:
parent
65ee2ebcb2
commit
a38c05febb
1 changed files with 24 additions and 0 deletions
|
|
@ -5,6 +5,7 @@ import {
|
|||
readonly,
|
||||
Ref,
|
||||
ref,
|
||||
shallowRef,
|
||||
useContext,
|
||||
watch,
|
||||
wrapProperty,
|
||||
|
|
@ -154,3 +155,26 @@ export function useToast() {
|
|||
const { $toast } = useContext()
|
||||
return $toast
|
||||
}
|
||||
|
||||
export function useColorMode() {
|
||||
const { $colorMode } = useContext()
|
||||
|
||||
return $colorMode
|
||||
}
|
||||
|
||||
export function usePolled<T>(
|
||||
pollDurationMS: number,
|
||||
pollFunc: () => T
|
||||
): Ref<T> {
|
||||
const result = shallowRef(pollFunc())
|
||||
|
||||
const handle = setInterval(() => {
|
||||
result.value = pollFunc()
|
||||
}, pollDurationMS)
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
clearInterval(handle)
|
||||
})
|
||||
|
||||
return result
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue