为什么获取Body对象只能读取一次?

时间:2017-10-14 07:57:30

标签: javascript fetch standards specifications fetch-api

fetch specification表示可读流Body包含Body.bodyUsed标记,该标记最初设置为false,然后设置为{{1调用任何解析方法。

以下是一个例子:

true

如果您再次尝试调用fetch('/some/path', (res) => { // res.body.bodyUsed === false res.json(); // res.body.bodyUsed === true }); res.json()之类的方法,则会抛出异常。

问题是:为什么要使用这种行为?为什么不允许解析那个可读的流多次?我没有找到任何解释。

PS。在Chrome(可能还有其他浏览器)中,该标记可以res.text()访问。

1 个答案:

答案 0 :(得分:1)

  

问题是:为什么要使用这种行为?为什么不允许解析   那个可读的流是你想要的多少次?

使用Response.clone()

可以多次阅读Response.body