Service Worker не работает, вызывая ошибку сети, когда файл слишком большой или медленная скорость

Я пытаюсь сделать простую кнопку загрузки для работы с данными фиктивного файла, но по какой-то причине, о которой я не знаю, я получаю ошибку сети.

По сути, я делаю запрос конкретного файла сервисному работнику, который готов передать поток ReadableStream в качестве ответа. Этот поток заполняется простым символом, пока не достигнет 1 ГБ размера.

Псевдокод для сервисного работника:

stream = new ReadableStream({
    start( ctrl ) {
        sharedMessageChannelPort.onmessage = ({data}) => {
            ctrl.enqueue(data);
        };
    }
});

/*...*/

event.respondWith( new Response( stream ));

Исходный код

Рабочий образец


Все работает нормально, пока внезапно не выдаст ошибку сети, и я понятия не имею, что происходит.

Я ценю все, что связано, что может помочь мне, по крайней мере, понять, почему это не работает, как я думаю, что это должно.

Заранее спасибо.

0 ответов

Другие вопросы по тегам