본문 바로가기
Angular.js

[Angular] why we should use RxJs of() function?

by 찬찬2 2023. 7. 4.

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

댓글