javascript - 无法使用 JavaScript 的 ReadableStream 将 StreamingResponseBody 流转换为 JSON
问题描述
后端 API 使用 Java 的 StreamingResponseBody 发送(JSON)流。我想使用 javascript(在前端)将流的块转换为正确的 JSON 格式。但是,它不起作用。这是我使用的代码:
function getData () {
fetch("MY_URL")
.then(response=>{
const reader = response.body.getReader();
return new ReadableStream({
start(controller) {
return pump();
function pump() {
return reader.read().then({done, value}) => {
if(done){
controller.close();
console.log("Done");
return;
}
const chunk = new TextDecoder("utf-8").decode(value);
console.log(JSON.parse(JSON.stringify(chunk)));
controller.enqueue(value);
return pump();
});
}
}
});
}).catch(err=>console.log(err));
}
我该如何修复它,以便它可以将块转换为 JSON?
解决方案
推荐阅读
- git - 为什么我最终会得到一堆合并提交?
- java - 在猜数游戏中用 FOR 循环实现/替换 WHILE 循环
- python - 如何处理时间间隔的求和和乘法?
- pandas - Pandas 以批量大小随机排列顺序数据
- python - 如何为 pcolormesh 指定轴?
- docker - 用于源 bash 配置文件的 Docker RUN 指令
- r - 如何转换具有内存大小的列 Ex。MB & KB,我想要 MB 中的所有值?
- android - 转到链接后的 WebView 空白页
- c# - 如何在单个代理类中添加多个服务引用
- spring - 我想通过使用 cron 表达式设置每 24 小时安排一次任务