2017년 6월 23일 금요일

observable 실습

Observable weather


Current temperature is 25.33 ℃,humidity : 57%






네트워크 탭에 보면 다 작성되지 않은 도시명의 요청이 cancle되고 있다. 

promise는 이미보낸 요청이 도중에 취소될수 없지만 옵저버블을 사용하면 도중에 취소가 가능하다.

switchMap() 함수를 사용해서 이전 요청을 취소하고 새로운 HTTP요청을 보낸다.

this.searchInput.valueChanges
.debounceTime(200)
.switchMap(city => this.getWeather(city))
.subscribe(
res => {
this.temperature =
`Current temperature is ${res['list'][0]['main'].temp} ℃,`+
`humidity : ${res['list'][0]['main'].humidity }%`;
},



댓글 없음: