相关疑难解决方法(0)

Microsoft Edge中来自Stream的新响应

有人知道从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不支持获取RedableStreamResponse.body …

javascript response stream microsoft-edge

35
推荐指数
1
解决办法
612
查看次数

标签 统计

javascript ×1

microsoft-edge ×1

response ×1

stream ×1