Я пытаюсь вернуть поток для ответа HTML
в сервис-воркере, но браузер, похоже, не может его проанализировать (я использую chrome для этого теста).
Итак, это работает (в событии fetch
):
event.respondWith(new Response("<h1>Yellow!</h1>", { headers: { "Content-Type": "text/html" }}))
Но когда я использую ReadableStream
, он больше не отображается в браузере:
const stream = new ReadableStream({
start(controller) {
controller.enqueue("<h1>Yellow!</h1>")
controller.close()
}
})
event.respondWith(new Response(stream, { headers: { "Content-Type": "text/html" }}))
Похоже, браузер не понимает, что я отправляю ему поток. Но я не знаю, какие заголовки мне нужно использовать, чтобы все вышеперечисленное работало.
Ресурсы, которые я использовал:
https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream#Examples
https://philipwalton.com/articles/smaller-html-payloads-with-service-workers/
ОБНОВЛЕНИЕ
Мой вопрос похож на этот, но для асинхронного случая.