TGViewer
SuperOleg dev notes SuperOleg dev notes @super_oleg_dev · 1.75K subscribers
Post #198 1.19K
Раскручиваем начиная с конца, и это у нас - HttpClient.

В коде HTTP клиента есть безобидная строчка - создается стрелочная функция, если упростить:

createCache: createCache ? (cacheOptions) => createCache('memory', cacheOptions) : undefined,


И тут наше первое замыкание, которое еще само по себе не проблема.

Эта функция создается в контексте фабрики HTTP клиентов, где есть ссылка на некий commandLineExecutionContext - это служебный объект Tramvai который напрямую ссылается на Dependency Injection контейнер запроса.

Таким образом полный пример кода:

js 
const httpClientFactory = ({ ..., commandLineExecutionContext }) => {
const options = {
...,
createCache: createCache ? (cacheOptions) => createCache('memory', cacheOptions) : undefined,
}
}


Где Closure функции createCache теперь всегда ссылается на commandLineExecutionContext, который в свою очередь тянет ссылку на весь DI контейнер (`ChildContainer` на предыдущем скрине)
GitHub tramvai/packages/modules/http-client/src/httpClient/httpClientFactory.ts at main · tramvaijs/tramvai A modular framework for universal JS applications. Contribute to tramvaijs/tramvai development by creating an account on GitHub.
  • 🔥 7
  • 👍 1
More from @super_oleg_dev
  1. Sep 10, 2026Посмотреть на работу анимаций и скролла можно в нашей демке, основанной на примере Remix ф…
  2. Sep 10, 2026Далее, про скролл. В принципе для SPA-приложений это база, если при переходах на разные ст…
  3. Sep 10, 2026Раз уж меня прорвало, вспомню ещё один интересный кейс. Решали примерно в одно время две п…
  4. Sep 10, 2026Вместо тысячи слов, пример работы и сразу разметка, которая долетает в HTML - и наш механи…
  5. Sep 10, 2026Когда-то давно рассказывал про интеграцию стриминга и deferred загрузки данных в Tramvai -…
  6. Sep 7, 2026TIL, небольшой, но интересный кейс! Делал кастомный анализ бандла через Claude, пишет мне…
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 →