Ваша функция addIcons () всегда возвращает наблюдаемое значение false. сначала вы подписываетесь на функцию getIcons (), затем возвращает observableOf (false), и только после этого происходит подписка.
Я бы сделал следующее
private sub: Subscription;
ngOnInit() {
this.sub = this.getIcons$()
.subscribe(data => {
if (data){
//do something use the data
}
});
}
ngOnDestroy() {
this.sub.unsubscribe();
}
getIcons$(): Observable<boolean> {
return this.Service.getIcons()
.pipe(
map(icons => {
return icons ? true : false
})
)
}
не забудьте отмените подписку, в противном случае у вас будут утечки памяти.