ten / demo /src /hooks /index.ts
3v324v23's picture
Зафиксирована рабочая версия TEN-Agent для HuggingFace Space
87337b1
raw
history blame contribute delete
824 Bytes
"use client"
import { type SWRResponse, type SWRConfiguration } from "swr"
import useSWR from "swr"
// https://github.com/vercel/swr/discussions/2330#discussioncomment-4460054
export function useCancelableSWR<T>(
key: string,
opts?: SWRConfiguration,
): [SWRResponse<T>, AbortController] {
const controller = new AbortController()
return [
useSWR(
key,
(url: string) =>
fetch(url, { signal: controller.signal }).then((res) => res.json()),
{
// revalidateOnFocus: false,
errorRetryCount: 3,
refreshInterval: 1000 * 60,
// dedupingInterval: 30000,
// focusThrottleInterval: 60000,
...opts,
},
),
controller,
]
// to use it:
// const [{ data }, controller] = useCancelableSWR('/api')
// ...
// controller.abort()
}