Новая суперспособность JavaScript: явное управление ресурсами
Предложение Явного управления ресурсами вводит детерминированный подход для явного управления жизненным циклом ресурсов, таких как файловые дескрипторы, сетевые подключения и других. Это предложение вносит следующие дополнения в язык: объявления using
и await using
, которые автоматически вызывают метод dispose, когда ресурс выходит из области видимости; символы [Symbol.dispose]()
и [Symbol.asyncDispose]()
для операций очистки; два новых глобальных объекта DisposableStack
и AsyncDisposableStack
как контейнеры для агрегирования освобождаемых ресурсов; и SuppressedError
как новый тип ошибки (содержащий как недавно вызванную ошибку, так и подавленную ошибку), чтобы решить ситуацию, когда ошибка возникает во время освобождения ресурса, что может скрыть существующую ошибку, вызванную основным телом операции или освобождением другого ресурса. Эти дополнения позволяют разработчикам писать более надежный, производительный и поддерживаемый код, предоставляя тонкий контроль над освобождением ресурсов.