Вы в коде getStats() вообще ничего не возвращаете.
Вы возвращаете данные из функции, которая у вас является подписчиком http.get.
Насколько я помню, вам надо объявить внутри getStats() объект типа Observable() и вернуть его. Как-то так в общем:
getStats()
{
return new Observable<any>((observer) => {
let statsLS = localStorage.getItem('stats');
let slt = +localStorage.getItem('slt');
let date = new Date();
let time = date.getTime();
if (statsLS === null || slt < time) {
this.http.get('/server/api/statsService').subscribe((data: any) => {
this.stats = data;
let date = new Date();
let time = date.getTime() + 60000 + '';
localStorage.setItem('stats', JSON.stringify(this.stats));
localStorage.setItem('slt', time);
observer.next(this.stats);
});
} else {
observer.next(JSON.parse(statsLS));
}
});
}