Skip to content
大纲

流式获取数据

fetch 获取文本

首先使用resp.body?.getReader()创建阅读器,然后循环阅读数据await reader.read(),最后通过解码器解码数据块。

js
export async function getStreamData(url) {
  const resp = await fetch(url, {
    method: "get",
    responseType: "stream",
    headers: {
      Authorization: "Bearer " + "token",
      "Content-Type": "application/json",
    },
  });
  const reader: any = resp.body?.getReader();
  const decoder = new TextDecoder();
  while (true) {
    const { done, value } = await reader.read();
    if (done) {
      break;
    }
    const txt = decoder.decode(value);
    console.log(txt);
  }
}

Released under the MIT License.