Я пытаюсь транслировать строки HTML из моего бэкэнда Express, используя серию response.write для смысла обновления в режиме реального времени , поскольку я выполняю некоторые HTTP-запросы в середине, затем добавив их в DOM. Я извлекаю фрагмент псевдокода из заданной вики-страницы как часть моего ответа для контекста.
В Chrome все работает нормально, однако Firefox, кажется, иногда разделяет поток на две части, что, очевидно, не позволяет проанализировать строку HTML, поскольку она разбивается на полпути через тег.
Опять же, иногда Firefox принимает больший отклик в целом и работает нормально, но чаще всего он разделяет его.
Это как-то связано с чтением Firefox readableStream против Chrome? Или я что-то упустил в своем коде?
Редактировать: Как разделить поток (слишком низкое число повторений для вставки)
Поток отправляется:
res.write(`<p class="update">→ Fetching page content...</p>`);
//Querying Wiki API here (code not shown)
//returning parsed HTML
parsed_frag = parsed_frag.replace(/\\n/g, '<br />');
res.write(`<p class="program">→ Fragment ${frag_num + 1} for ${response.data.parse.displaytitle}:</p>`);
res.write(`<div id="0" class="result">${parsed_frag}</div>`);
res.write(`<p class="program">→ (C = copy to clipboard, N = next fragment, R = restart)</p>`);
res.write(`<div class="program">~/pseudo-fetcher<div id="key-input" class="input key-input" contenteditable="true"></div></div>`);
res.status(200).end();
Переменная parsed_frag содержит извлеченный HTML-код в строке. Я хочу, чтобы все это было прочитано как одна часть, а не случайно разбито при чтении. Поскольку я заранее использую res.write, res.send бесполезен.