캐싱을 더 간단하게 만드는 데 문제가 있습니다. 나는 이것을 할 수있는 더 좋은 방법이 있다고 생각한다. 내 문제는 내가 더 이상 코드에서 결과입니다 모든 get() 함수에서이 "캐싱"코드를 할 필요가 있다는 것입니다. 누구나 최선의 방법을 이뤄내는 데 도움이됩니까? 감사. 여기에 내 코드가있다. 내 코드에서 내가 한 것은 내 news.service.ts에서 get() 함수를 사용하여 http에서 데이터를 가져 와서 내 뉴스 목록에 구독하는 것입니다.HttpClient에서 데이터를 캐싱 4
news.service.ts
getAllNews() {
if(this.newslist != null) {
return Observable.of(this.newslist);
}
else {
return this.httpClient
.get('http://sample.com/news')
.map((response => response))
.do(newslist => this.newslist = newslist)
.catch(e => {
if (e.status === 401) {
return Observable.throw('Unauthorized');
}
});
}
}
뉴스 list.service.ts
this.subscription = this.newsService.getAllNews()
.subscribe(
(data:any) => {
console.log(data);
this.newslists = data.data.data;
},
error => {
this.authService.logout()
this.router.navigate(['signin']);
});
}
아무 문제가 보이지 않습니다 ... – Leo
@Leo. 오 그래, get() 함수를 사용할 때마다 그냥 사용하겠습니까? 그게 최선의 해결책일까요? – Joseph
캐시가 정확히 무엇입니까? '뉴스리스트'? – Leo