Node.js · Senior · Pytanie 5 z 75

Dlaczego domknięcie może nieoczekiwanie zatrzymywać pamięć?

function handler(req) {
  const hugeBody = req.body; // 50 MB
  const id = hugeBody.id;
  emitter.on("done", () => console.log(id));
}

Wyjaśnienie

Prawdziwy błąd to listener, którego nigdy nie usunięto. V8 może też trzymać zmienne współdzielonego kontekstu. Usuwaj listenery, używaj once i nie przechwytuj dużych obiektów.

Do poczytania

Błąd w pytaniu

Node.js · Senior · pytanie 5

Sprawdź się

Rozwiąż test Node.js · Senior: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test