Eri*_*rik 35 javascript response stream microsoft-edge
有人知道从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.边确实暴露Response.body了.
尝试这个:
https://www.npmjs.com/package/web-streams-polyfill
var streams = require("web-streams-polyfill");
var readable = new streams.ReadableStream;
// Or, in ES6
import { ReadableStream } from "web-streams-polyfill";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
612 次 |
| 最近记录: |