ANgularJS 2.0+

angular interval interceptor (수정중)

k9e4h 2016. 9. 6. 11:30

angular1 interval

http://wisdomcastle.github.io/2016/01/25/angular-$inverval.html


angular2 interceptor

https://blog.tomasandtomas.com/angular-2-http-interceptors-7e2d74b7f14e#.5e6e50zhr


observable.interval vs observable.timer

https://github.com/ReactiveX/RxJava/issues/2778


http://xgrommx.github.io/rx-book/content/observable/observable_methods/interval.html


1. interceptor가 필요한 이유

 원격 서버를 호출할 때마다 또는 서버로부터 응답을 받을 때마다 특정한 행동을 수행해야 할 필요가 있다고 생각해보자. 예를 들어, 목적지 URL에 인증 토큰을 URL 매개변수에 추가해야 한다고 가정해보자. 물론 모든 모델의 URL을 필요에 맞게 수정해도 되겠지만, 서비스의 개수가 엄청나다면 이 일 또한 쉬운 일은 아닐 것이다. 어느 한 곳만 변경하면 외부로 나가는 모든 호출에 이 사항이 적용될 수 있다면 멋지지 않겠는가? 어느 한 부분에서 외부로 나가거나 혹은 외부로부터 들어오는 서비스 호출을 가로채서 필요한 로직을 수행할 수 있다면 편리하지 않을까?



2. Interceptor의 활용

 이번에는 외부의 원격 서버를 호출할 때 로딩 중 표시가 나타나게 하고, 호출이 완료되면 표시가 사라지도록 하는 방법을 확인해보자. 우선, 인터셉터를 구현해야 한다. 이 인터셉터는 loadingInterceptor라는 이름으로 구현하여 LoadingService 서비스에 주입할 예정이다.


[출처] http://usefull.tistory.com/665


setTimeout -> $timeout

setInterval -> $interval



반응형