Я делаю с приложением Ionic News. У меня одна проблема с получением ответа из служебного файла.
home.page.ts
getNews(): void {
this.loading = true;
this.language = localStorage.language;
this.checkForToken();
var userId = this.loggedInUser;
this._newsService.getAllNews().subscribe(
(res: any) => {
console.log("all news==========>", res)
this.loadNewsToPage(res, userId);
},
(err) => {
this.loading = false;
this.error = err;
});
}
news.service.ts
getAllNews(){
if(this.network.type == 'none' ){
console.log(JSON.parse(localStorage.getItem("newsArray")));
this.newsArray = JSON.parse(localStorage.getItem("newsArray"))
return this.newsArray;
}else{
return this.http.get(config.baseApiUrl + 'news?isApproved=APPROVED').pipe(
map((res) => {
this.newsArray = res['data'];
localStorage.setItem('newsArray',JSON.stringify(this.newsArray))
return this.newsArray;
}),
catchError(this.handleError));
}
}
Теперь проблема заключается в том, что когда сеть «отсутствует», она переходит в состояние «если» в служебном файле и возвращает ответ из локального хранилища. Но это дает мне ошибку ниже, когда сеть отсутствует.
ОШИБКА TypeError: this._newsService.getAllNews (...). Подписаться не является функцией
Это работаетправильно, когда он переходит в другое состояние или когда сеть присутствует. Почему так?