Новое слово в TypeScript 5.2
TypeScript 5.2 представит новое ключевое слово - using, которое можно использовать, чтобы избавиться от чего угодно с помощью функции Symbol.dispose, при покидании области видимости.
Обосновано это предложениями TC39, достигшими недавно Фазы 3, что демонстрирует скорое появление в JavaScript.
using будет очень полезным для управления ресурсами, такими как ссылки на файлы, соединения с базами данных и т.п.
Symbol.dispose
Symbol.dispose - новый глобальный символ в JavaScript. Всё что угодно с функцией, присвоенной Symbol.dispose будет рассматриваться как 'ресурс' - "объект с особым жизненным циклом" - и может быть использовано со словом using.
await using
Вы также можете использовать Symbol.asyncDispose и await using чтобы управлять ресурсами, которые должны быть распределены асинхронно.
Будет ожидать функцию Symbol.asyncDispose для продолжения.
Это будет полезно для ресурсов типа коннекторов БД, когда необходимо убедиться, что соединение закрыто, прежде чем продолжать.
Случаи использования
Указатели на файлы
Доступ к файловой системе с помощью хэндлеров на ноде может быть намного проще с using.
До:
После:
Соединения с БД
До:
После:
Спасибо за внимание! Больше интересного по фронтенду - тут.