ReadableStream流的js处理

需求

今天接了一个gpt的项目。需要对接接口。后端返回的数据是ReadableStream类型的。记录下如何处理ReadableStream类型的数据

代码


const response = ...  // response 是服务端返回的数据

// 创建了一个数据读取器
const reader = response.getReader();
// 创建了一个文本解码器
const decoder = new TextDecoder();

reader.read().then(function processText({ done, value }) {
  // Result 对象包含了两个属性:
  // done  - 当 stream 传完所有数据时则变成 true
  // value - 数据片段。当 done 为 true 时始终为 undefined
  if (done) {
    return;
  }

  // 将字节流转换为字符
  const text = decoder.decode(value)

  // 内容
  console.log(text);

  // 再次调用这个函数以读取更多数据
  return reader.read().then(processText);
});

参考

https://developer.mozilla.org/zh-CN/docs/Web/API/ReadableStream

你可能感兴趣的:(前端开发专栏,javascript,前端,开发语言)