Кто-нибудь знает способ создания нового ответа от 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
.