框架
版本

streamedQuery

streamedQuery 是一个辅助函数,用于创建一个查询函数,该函数从 AsyncIterable 中流式传输数据。数据将是接收到的所有块的数组。查询在收到第一个数据块之前将处于 pending 状态,但之后将变为 success 状态。查询将保持 fetchStatus fetching 状态,直到流结束。

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

选项

  • queryFn: (context: QueryFunctionContext) => Promise<AsyncIterable<TData>>
    • 必需
    • 返回一个 Promise,该 Promise 解析为要流式传输的数据的 AsyncIterable 的函数。
    • 接收一个 QueryFunctionContext
  • refetchMode?: 'append' | 'reset'
    • 可选
    • 当设置为 'reset' 时,查询将在发生重新获取时擦除所有数据并返回到 pending 状态。
    • 当设置为 'append' 时,数据将在重新获取时追加。
    • 默认为 'reset'