Я пытаюсь создать простой сервис кеширования в Angular;служба с простой функцией установки / получения, из которой различные компоненты могут извлекать данные.
К сожалению, при подписке на эту службу для получения данных обратный вызов подписки никогда не вызывается и данные не извлекаются.
catch-service.service.js
import { Injectable } from '@angular/core';
import { Observable, from } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class CacheService {
cacheData: Observable<any>;
constructor() { }
setCacheData(data) {
this.cacheData = new Observable(data)
}
getCacheData() :Observable<any> {
return from(this.cacheData);
}
}
component.component.js
...
export class SomeComponent {
constructor(private cacheService: CacheService) { }
data = null;
ngOnInit() {
this.cacheService.getCacheData().subscribe(resp => {
console.log(resp);
this.data = resp;
});
}
...
У меня естьвнедрил сервис в класс модуля и нет ошибок компиляции.Данные в компоненте просто никогда не устанавливаются.