tgoop.com/super_oleg_dev/198
Create:
Last Update:
Last Update:
Раскручиваем начиная с конца, и это у нас - 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` на предыдущем скрине)BY SuperOleg dev notes

Share with your friend now:
tgoop.com/super_oleg_dev/198