Angular · Senior · Frage 56 von 75
Wie lässt man SSR auf asynchrone Arbeit warten, die keine HTTP-Anfrage ist (z. B. eine Timer-basierte Initialisierung)?
const pending = inject(PendingTasks);
pending.run(() => loadWidgetConfig());- 1Nichts: SSR wartet immer, bis alle Promises erledigt sind
- 2
setTimeoutmit einer Verzögerung, die für die Arbeit reicht - 3Mit
PendingTasksregistrieren, damit die App noch nicht stabil ist
Antwort zeigen
Richtige Antwort: Mit PendingTasks registrieren, damit die App noch nicht stabil ist
Erklärung
SSR serialisiert die Seite, sobald die App stabil ist. Ohne zone.js sieht Angular beliebige Promises nicht, langlebige Arbeit muss also explizit verfolgt werden.