Skip to content

Commit f4afebb

Browse files
committed
refactor(community.service): add shareReplay(1) to avoid multiple requests
1 parent 65e0b60 commit f4afebb

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/app/shared/services/community.service.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Communities } from '@shared/interfaces';
22
import { HttpClient } from '@angular/common/http';
33
import { Injectable } from '@angular/core';
44
import { Observable } from 'rxjs';
5-
import { map } from 'rxjs/operators';
5+
import { map, shareReplay } from 'rxjs/operators';
66

77
@Injectable({
88
providedIn: 'root',
@@ -13,9 +13,10 @@ export class CommunityService {
1313
constructor(private httpClient: HttpClient) {}
1414

1515
get communities(): Observable<Communities> {
16-
return this.httpClient
17-
.get<Communities>(this.JSON_COMMUNITIES)
18-
.pipe(map(communities => this.normalizeCommunities(communities)));
16+
return this.httpClient.get<Communities>(this.JSON_COMMUNITIES).pipe(
17+
map(communities => this.normalizeCommunities(communities)),
18+
shareReplay(1),
19+
);
1920
}
2021

2122
private normalizeCommunities(communities: Communities): Communities {

0 commit comments

Comments
 (0)