キャッシングをより簡単にするために問題があります。私はこれを行うより良い方法があると思う。私の問題は、コードの長さが長くなる結果になるすべての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