Wzorce projektowe · Middle · Pytanie 36 z 75
Jak zaimplementować leniwą inicjalizację ciężkiego obiektu?
let client;
export function getClient() {
return (client ??= createHeavyClient());
}- ✓Poprawna odpowiedź: Utworzyć obiekt przy pierwszym odwołaniu i potem używać go ponownie
- 2Utworzyć obiekt w
setTimeout, by nie blokował ładowania - 3Tworzyć nowy obiekt przy każdym wywołaniu
getClient
Wyjaśnienie
Leniwa inicjalizacja oszczędza czas startu i zasoby, jeśli obiekt może nie być potrzebny. Często łączy się ją z dynamicznym import() dla ciężkich SDK. Pamiętaj o SSR: na serwerze taki cache na poziomie modułu jest wspólny dla wszystkich żądań.