Рендеринг Rendertron зависает в ожидании завершения firebase + angularfire (но никогда не завершается) - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь использовать rendertron для решения ssr (рендеринга на стороне сервера) для моего веб-приложения angular + firebase (с angularfire).

Проблема, с которой я столкнулся, заключается в том, что время ожидания rendertron истекает ожидание завершения моей страницы, даже если отображаемая страница, поскольку rendertron показывает содержимое, отрисованное до сих пор, кажется завершенным после тайм-аута (по умолчанию 10 секунд). Независимо от используемого тайм-аута (20, 30, 60 секунд), rendertron всегда зависает и выдает отрисованную страницу только после тайм-аута.

Я обнаружил, что вызов "firebase.app (). Delete ()" (для закрыть все соединения с помощью firebase) после загрузки необходимых данных из firestore и установки входных параметров компонента angular, их rendertron больше не отключается (и возвращает полную отрисованную страницу примерно через 3 секунды). Итак, я предполагаю, что открытое соединение, поддерживаемое клиентом firebase с сервером, заставляет rendertron думать, что страница все еще загружается и никогда не завершается.

Это нормальное поведение при использовании angularfire + rendertron (или любого другого ssr на основе Chromium)? Я имею в виду, что мы должны закрыть соединение firebase при использовании ssr? Или есть что-то еще, что мне не хватает, чтобы закрыть или отписаться?

И если необходимо закрыть соединение, когда на SSR, как я могу определить, когда приложение angular работает в rendertron?

...