stack overflow에서 "why we should use RxJs of() function?"을 보고 퍼왔다.
of()를 사용하는 이유
1. when using fake response.
- of에 static한 파라미터를 넣어 observable한 데이터를 반환할 수 있다. 실전에서 HTTP 요청시 get() 또는 post()를 사용하는데 이들은 Observable한 데이터를 반환한다. 때문에 of를 활용한다면 static한 데이터를 Observable로 바꿔서 테스트할 수 있다.
2. of() emits its parameters as single emissions immediately on subscription.
- of는 파라미터에 들어있는 단일 데이터를 즉시 제공한다. HTTP 요청 시 내가 원하는 데이터 외에 다른 데이터를 받아올 수도 있을 것이다. 이를 단일 데이터로 특정화해 사용하자는 것.
3. Avoid TypeError
3. RxJS operators, subscriber 을 적극 활용해 async한 데이터를 효과적으로 처리할 수 있음.
//this function works synchronously AND asynchronously
getHeroes(): Observable<Hero[]> {
return Observable.of(HEROES)
//-OR-
return this.http.get('my.api.com/heroes')
.map(res => res.json());
}
//it can be subscribed to in both cases
getHeroes().subscribe(heroes => {
console.log(heroes); // '[hero1,hero2,hero3...]'
}
//DON'T DO THIS
getHeroesBad(): Array<Hero> {
return HEROES //Works synchronously
//-OR-
return this.http.get('my.api.com/heroes') //TypeError, requires refactor
}
https://stackoverflow.com/questions/47889210/why-we-should-use-rxjs-of-function
'Angular.js' 카테고리의 다른 글
ActivatedRoute의 snapshot과 Router의 events의 다른 점. (0) | 2023.11.15 |
---|---|
[Angular] 키워드 - form & input validation attributes & states and built-in validators properties (0) | 2023.07.10 |
[Angular] 의존성 주입 심화 학습 키워드 모음 (0) | 2023.06.16 |
[Angular] InjectionToken (퍼옴) (0) | 2023.06.16 |
Angular Material UI tutorials - Mosh (0) | 2023.05.18 |
댓글