35 votes

Nouvelle réponse de Stream dans Microsoft Edge

Quelqu'un connais un moyen de créer une nouvelle Réponse à partir d'un ReadableStream dans Microsoft Edge?

Pour Chrome, c'est assez simple. Vous pouvez simplement prendre un ReadableStream et le passer dans le constructeur de l' Response comme premier argument. De cette façon, vous pouvez, par exemple, créer un nouveau Response à dire un code d'état à partir d'un réseau de réponse, sans la copie de la réponse:

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

Alors que cela fonctionne parfaitement dans Chrome, Edge ne prend pas en charge ReadableStream comme entrée pour l' Response constructeur. La seule manière pour moi de travailler à Bord, c'est quand je reçois la réponse de texte premier (en fait de la copie de la réponse et le blocage du flux):

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

Quelqu'un sait-il un moyen de créer une nouvelle Réponse Lisible à partir d'un Flux de Bord?

PS: je suis à l'aide de Microsoft Bord 42.17115.1.0 (dernière version developer preview, depuis que je suis en train de tester les Ouvriers de Service)

PPS: Le premier code ne fonctionne pas dans firefox, soit parce que firefox ne prend pas en charge l'obtention d'un RedableStream de Response.body. Edge ne exposer Response.body si.

1voto

Eugene Mihaylin Points 925

Essaye ça:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X