Vue3流式请求api获取返回结果


只是记录一下网上搜集的代码片段,貌似服务端并没有流式返回所以效果未知。

const response = await fetch(`/api/?s=Chat.Chat.Analysis&file_hash=${fileHash}`)

/* if (!response.body) return
    const reader = response.body.pipeThrough(new TextDecoderStream()).getReader()
    while (true) {
      let { value, done } = await reader.read()
      if (done) break
      value = value?.replace('undefined', '')
      output.value += value?.replace('undefined', '')
      console.log('收到', value)
    } */
const reader = response.body?.getReader()

if (!reader) {
    throw new Error('无法读取响应流')
}

isProcessing.value = false

result.value = ''
while (true) {
    const {
        done,
        value,
    } = await reader.read()
    if (done) break
    const v = new TextDecoder().decode(value)
    result.value += v
    console.log('收到', v)
}

声明:HEUE NOTE|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA 4.0协议进行授权

转载:转载请注明原文链接 - Vue3流式请求api获取返回结果