Javascript-форум (https://javascript.ru/forum/)
-   Angular.js (https://javascript.ru/forum/angular/)
-   -   Как Ангуляр инстанциирует абстрактный класс? (https://javascript.ru/forum/angular/77632-kak-angulyar-instanciiruet-abstraktnyjj-klass.html)

Shitbox2 29.05.2019 20:15

Как Ангуляр инстанциирует абстрактный класс?
 
Примерчик: https://stackblitz.com/angular/eylbkjxqggg
См. строку src/app/http-interceptors/caching-interceptor.ts:26
constructor(private cache: RequestCache) {}

Там инжектится класс RequestCache и всё бы хорошо, только этот класс абстрактный. Всегда думал, что такая запись это эквивалент
this.cache = new RequestCache(... some dependencies ...);

Теперь не понимаю как это работает

destus 30.05.2019 11:42

Shitbox2,
обратите внимание на 60 строку в app.module.ts. То есть RequestCache - он же абстрактный класс, он же токен по которому можно достучатсья до экземпляра класса RequestCacheWithMap

Shitbox2 30.05.2019 14:16

Точняк! Не заметил. Тут уже другой вопрос - нафига такая сложность, но он скорее риторический :-)


Часовой пояс GMT +3, время: 02:41.