Подтвердить что ты не робот

Новый ответ от потока в Microsoft Edge

Кто-нибудь знает способ создания нового ответа от ReadableStream в Microsoft Edge?

Для 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))

Хотя это отлично работает в 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))

Кто-нибудь знает способ создания нового ответа из Readable Stream in Edge?

PS: Я использую Microsoft Edge 42.17115.1.0 (последний предварительный просмотр разработчика, так как я тестирую Работников Службы)

PPS: первый код не работает в firefox либо потому, что firefox не поддерживает получение RedableStream из Response.body. Однако Edge подвергает Response.body.

4b9b3361