const reader = response.body?.getReader()
const { done, value } = await reader!.read()
tDecoder.decode(value, { stream: true })
上述为伪代码,其中关键就是后面自带的options,有个参数就是stream,默认为false。
官方描述:一个布尔标志,表示在后续调用 decode() 将跟随附加数据。如果以分块的形式处理数据,则设置为 true;如果是最终的分块或者数据没有分块,则设置为 false。默认是 false。
中文容易出现这个问题,我这边就莫名出现各种问号和星星。
排查了后端编码,以及流式响应数据都正常后,才发现是前端的问题。
特此标记。