ECMAScript | CleanupFinalizationRegistry ( finalizationRegistry )

ECMAScript | CleanupFinalizationRegistry ( finalizationRegistry )

Абстрактная операция CleanupFinalizationRegistry (Очистка реестра финализации) принимает аргумент finalizationRegistry (FinalizationRegistry). При вызове он выполняет следующие шаги:

1. Утверждено: finalizationRegistry имеет внутренние слоты [[Cells]] и [[CleanupCallback]].
2. Пусть обратный вызов callback будет finalizationRegistry.[[CleanupCallback]].
3. Пока finalizationRegistry.[[Cells]] содержит ячейку cell записи Record, такую что cell.[[WeakRefTarget]] является пустой - empty, реализация может выполнить следующие шаги:
   a. Выберите любую такую ячейку cell.
   b. Удалить ячейку cell из finalizationRegistry.[[Cells]].
   c. Выполнить ? HostCallJobCallback(callbackundefined, « cell.[[HeldValue]] »).
4. Вернуть NormalCompletion(undefined).

 

Информационные ссылки

Стандарт ECMAScript — Раздел «9.12 CleanupFinalizationRegistry ( finalizationRegistry )» — https://tc39.es/ecma262/#sec-cleanup-finalization-registry