javascript stream response microsoft-edge

javascript - Nueva respuesta de Stream en Microsoft Edge



response microsoft-edge (1)

Prueba esto:

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";

¿Alguien sabe de una manera de crear una nueva Response de un ReadableStream en Microsoft Edge?

Para Chrome, esto es bastante simple. Simplemente puede tomar un ReadableStream y pasarlo en el constructor de Response como primer argumento. De esta manera puede, por ejemplo, crear una nueva Response con decir otro código de estado a partir de una respuesta de la red, sin copiar la respuesta:

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))

Si bien esto funciona perfectamente en Chrome, Edge no admite ReadableStream como entrada para el constructor de Response . La única manera de hacer que funcione en Edge es cuando primero obtengo la respuesta de texto (copiando efectivamente la respuesta y bloqueando la secuencia):

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))

¿Alguien sabe una manera de crear una nueva respuesta de un flujo legible en Edge?

PS: Estoy usando Microsoft Edge 42.17115.1.0 (última vista previa del desarrollador, ya que estoy probando Service Workers)

PPS: el primer código no funciona en Firefox porque Firefox no admite la obtención de un RedableStream de Response.body . Edge expone Response.body sin embargo.