Вам необходимо вернуть наблюдаемое в вашем сервисном методе и заставить компоненты вызывать этот метод для получения наблюдаемого.
Также, как уже упоминал jonrsharpe, вам не нужно создавать другое наблюдаемое.Просто используйте оператор карты / касания, если вы хотите выполнить преобразования ваших данных, или используйте console.log
.
import { map } from 'rxjs/operators';
import { LocalStorage } from '@ngx-pwa/local-storage@6';
class Service {
constructor(private localStorage: LocalStorage) {}
// this is the naive approach
getUser() {
return new Observable((observer) => {
this.localStorage.getItem('user').subscribe((user) => {
if (user != null) {
console.log(user);
console.log('User existiert!');
}
observer.next(user);
observer.complete();
});
});
}
// this is a better approach
getUser() {
return this.localStorage.getItem('user').pipe(
map((user) => {
if (user != null) {
console.log(user);
console.log('User existiert!');
}
return user
}),
);
}
}