Сервисный работник с сбросом потокового соединения - PullRequest
0 голосов
/ 29 апреля 2018

Код ниже выполняется, но я продолжаю получать

ERR_CONNECTION_RESET

addEventListener('fetch', function(event) {
  const stream = new ReadableStream({
  start(controller) {
    controller.enqueue('test')
    controller.close()
  }});
  event.waitUntil(event.respondWith(new Response(stream, {headers: {'Content-Type': 'text/html; charset=utf-8'}})))
});

Если я заменим поток (в ответе) той же строкой внутри ReadableStream, ответ вернется правильно. Я использую последнюю версию Chrome.

Есть ли что-то, чего мне не хватает?

Это работает ниже:

  event.waitUntil(
      event.respondWith(new Response('test', {headers: {'Content-Type': 'text/html; 
      charset=utf-8'}}))
  )

Сервисный работник определенно загружается правильно и отвечает на выборку.

1 Ответ

0 голосов
/ 29 апреля 2018

Решено! Текст должен быть сначала закодирован:)

controller.enqueue(new TextEncoder().encode('test'))
...