32 lines
717 B
Svelte
32 lines
717 B
Svelte
<script lang="ts">
|
|
import { createQuery } from '@tanstack/svelte-query'
|
|
import { sleep } from '@tanstack/query-test-utils'
|
|
import type { StatelessRef, StatusResult } from '../utils.svelte.js'
|
|
|
|
let {
|
|
states,
|
|
onFetch,
|
|
}: {
|
|
states: StatelessRef<Array<StatusResult<string>>>
|
|
onFetch: () => void
|
|
} = $props()
|
|
|
|
const query = createQuery(() => ({
|
|
queryKey: ['test'],
|
|
queryFn: async () => {
|
|
await sleep(10)
|
|
onFetch()
|
|
return 'fetched'
|
|
},
|
|
staleTime: Infinity,
|
|
}))
|
|
|
|
$effect(() => {
|
|
const snapshot = $state.snapshot(query)
|
|
states.current.push(snapshot)
|
|
})
|
|
</script>
|
|
|
|
<div>data: {query.data ?? 'null'}</div>
|
|
<div>fetchStatus: {query.fetchStatus}</div>
|