Framework
Version

streamedQuery

streamedQuery is a helper function to create a query function that streams data from an AsyncIterable. Data will be an Array of all the chunks received. The query will be in a pending state until the first chunk of data is received, but will go to success after that. The query will stay in fetchStatus fetching until the stream ends.

tsx
const query = queryOptions({
  queryKey: ['data'],
  queryFn: streamedQuery({
    queryFn: fetchDataInChunks,
  }),
})
const query = queryOptions({
  queryKey: ['data'],
  queryFn: streamedQuery({
    queryFn: fetchDataInChunks,
  }),
})

Options

  • queryFn: (context: QueryFunctionContext) => Promise<AsyncIterable<TData>>
    • Required
    • The function that returns a Promise of an AsyncIterable of data to stream in.
    • Receives a QueryFunctionContext
  • refetchMode?: 'append' | 'reset'
    • optional
    • when set to 'reset', the query will erase all data and go back into pending state when a refetch occurs.
    • when set ot 'append', data will be appended on a refetch.
    • defaults to 'reset'