要获取fetch返回的ReadableStream的内容,可以使用以下步骤:
以下是一个示例代码:
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error('请求失败');
}
return response.body;
})
.then(body => {
const reader = body.getReader();
function read() {
return reader.read().then(({ value, done }) => {
if (done) {
reader.releaseLock();
return;
}
// 处理读取到的数据
console.log(value);
return read();
});
}
return read();
})
.catch(error => {
console.error(error);
});
在这个示例中,我们首先检查响应的ok属性,然后获取响应的body属性作为ReadableStream对象。接下来,我们使用getReader方法创建一个阅读器,并使用read方法读取流的内容。读取的结果是一个包含value和done属性的对象,我们可以根据done属性判断是否还有更多的数据需要读取。如果还有数据,我们可以继续调用read方法读取下一部分数据。如果已经读取完所有数据,我们可以关闭阅读器。
请注意,这只是一个示例代码,实际应用中可能需要根据具体情况进行适当的错误处理和数据处理。
领取专属 10元无门槛券
手把手带您无忧上云