https://www.npmjs.com/package/web-streams-polyfill
ибудь знает способ создания новогоотклик из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))
Кто-нибудь знает способ создания нового ответа из читаемого потока в Edge?
PS: я использую Microsoft Edge 42.17115.1.0 (последняя версия для разработчиков, так как я тестирую Service Workers)
PPS: первый код не работает и в Firefox, потому что Firefox не поддерживает получениеRedableStream
изResponse.body
, Edge действительно разоблачаетResponse.body
хотя.