需求
今天接了一个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 时始终为 undefinedif (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