Entwurfsmuster · Middle · Frage 36 von 75
Wie setzt man die Lazy-Initialisierung eines schweren Objekts um?
let client;
export function getClient() {
return (client ??= createHeavyClient());
}- 1Das Objekt beim ersten Zugriff erzeugen und danach wiederverwenden
- 2Bei jedem Aufruf von
getClientein neues Objekt erzeugen - 3Das Objekt in einem
setTimeouterzeugen, damit es das Laden nicht blockiert
Antwort zeigen
Richtige Antwort: Das Objekt beim ersten Zugriff erzeugen und danach wiederverwenden
Erklärung
Lazy-Initialisierung spart Startzeit und Ressourcen, wenn das Objekt eventuell nicht gebraucht wird. Oft kombiniert man sie mit dynamischem import() für schwere SDKs. Denk an SSR: auf dem Server teilen alle Anfragen einen solchen Cache auf Modulebene.