JavaScript · Avançado · Inglês · Técnico
FinalizationRegistry
Registro que chama um callback depois que um objeto registrado é coletado, permitindo limpar recursos associados. O momento, e até a execução, não são garantidos.
Onde usar
Usado em bibliotecas para liberar recursos nativos ou entradas de cache. Em code review, desencoraja-se qualquer lógica essencial nele, pois o motor pode nunca chamar o callback.
Em código
const reg = new FinalizationRegistry((id) => {
console.log('coletado', id);
});
let obj = { dados: 1 };
reg.register(obj, 'obj-1');
obj = null; // talvez um dia chame o callbackExemplos
The registry frees the native handle after the object is collected.
O registry libera o handle nativo depois que o objeto é coletado.
Never rely on FinalizationRegistry for critical cleanup.
Nunca dependa do FinalizationRegistry para limpeza crítica.
Cuidado
Usar como substituto de try finally ou de métodos explícitos como close.