TGViewer
4gophers 4gophers @gophernews · 3.44K subscribers
Post #1978 1.35K

Forwarded from Код и Капуста

Typescript Defer

#golang

Автор экспериментировал с добавлением оператора defer из Go в компилятор TypeScript, реализовав парсинг, проверки и AST-трансформацию, которая оборачивает тело функции в try/finally и выполняет отложенные вызовы в обратном порядке (LIFO) с захватом значений на момент регистрации.

В процессе он столкнулся с принципиальными сложностями: ошибки в JavaScript - это поток управления, а не значения, как в Go, поэтому пришлось вводить политики агрегации исключений через AggregateError, последовательный await для асинхронной очистки и явный запрет defer await.

В итоге автор пришел к выводу, что defer плохо ложится на модель ошибок TypeScript/JavaScript, и рекомендует использовать нативный using из пропозала Explicit Resource Management как более идиоматичную альтернативу, что логично

https://kodikapusta.ru/news/1164-typescript-defer

Поддержать проект на boosty и читать в MAX
  • 👍 2
  • ❤ 1
  • 😁 1
More from @gophernews
  1. Sep 24, 2026Rune #golang Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go…
  2. Sep 8, 2026Прокси для базы данных #golang Автор пишет простой такой прокси на Go в учебных целях вдох…
  3. Sep 7, 2026У нас отмена! #golang Статья разбирает, как пакет singleflight в Go предотвращает лавину з…
  4. Sep 3, 2026Конкурентный сервер на Go #golang #learn Это восьмая часть серии о конкурентных сетевых се…
  5. Sep 2, 2026Интересные баги #golang Команда sigma star(хз кто это) нашла и исправила давнюю ошибку в р…
  6. Sep 1, 2026GopherCon UK 2026 #golang #video Видосы с GopherCon UK 2026 подоспели. Много всего интерес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →