Почему параметры метода подписки на EventEmitter в angular не строго типизированы?
subscribe(generatorOrNext?: any, error?: any, complete?: any): Subscription {
...
}
вместо чего-то вроде
subscribe(generator: DefForGenerator): Subscription;
subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription;
subscribe(generatorOrNext?: any, error?: any, complete?: any): Subscription {
...
}
это не из-за any
это подписка, а не генератор событий
Вы можете отслеживать связанную проблему здесь: github.com/angular/angular/issues/29016. На самом деле это не вопрос SO, только соответствующие разработчики могут сказать вам, почему они выбрали это.
это метод подписки EventEmitter
@jonrsharpe это ответ.
комментарий @jonrsharpe направляет вас в правильном направлении.
В соответствии с этим комментарий вы не должны использовать EventEmitter.subscribe()
/ он предназначен только для использования метаданными @Output()
. Таким образом, ввод any
может быть вызван разработчиками, препятствующими использованию этого метода.
сильно типизировано? все угловые/машинописные