有人知道从Microsoft Edge中的ReadableStream创建新响应的方法吗?
对于Chrome,这非常简单.您可以在第一个参数ReadableStream的构造函数中获取并传递它Response.例如,您可以Response通过网络响应创建一个带有另一个状态代码的新代码,而无需复制响应:
fetch('https://www.baqend.com/')
.then(res => new Response(res.body, { status: 222 }))
.then(it => it.text())
.then(it => console.log('Text prefix ' + it.substr(0,16)))
.catch(it => console.log('error: ' + it))
Run Code Online (Sandbox Code Playgroud)
虽然这在Chrome中完美运行,但Edge不支持构造函数的ReadableStream输入Response.我在Edge中使用它的唯一方法是首先获得文本响应(有效地复制响应并阻止流):
fetch('https://www.baqend.com/')
.then(it => it.text())
.then(text => new Response(text, { status: 222 }))
.then(it => it.text())
.then(it => console.log('Text prefix ' + it.substr(0,16)))
.catch(it => console.log('error: ' + it))
Run Code Online (Sandbox Code Playgroud)
有没有人知道从Edge中的可读流创建新响应的方法?
PS:我正在使用Microsoft Edge 42.17115.1.0(最新的开发人员预览版,因为我正在测试Service Workers)
PPS:第一代码不工作在Firefox或者是因为Firefox不支持获取RedableStream的Response.body …