(AngularJS) 프라미스

원격서버의 호출은 비동기 작업이기 때문에 응답이 리턴되는 시점을 보장할 수 없다.
그렇다면 특정 작업이 완료되는 시점을 알지 못하는 상황에서 어떻게 코드를 순서대로 실행할 수 있을까?
일단, 원격 서버를 호출한 뒤 리턴될 때까지 다른 작업을 수행할 수 있고, 호출이 리턴되었을 때 다시 원래 작업으로 돌아올 수 있다면 이는 정말로 환상적일 것이다.
프로미스가 바론 그런 일을 하기 위한 도구다


Angular 1.3 은 단순히 .then()메소드만을 사용하는 것이 아니라
.then()
.catch()
.finally()문법을 통해 프로미슬르 해석하는 새로운 개념을 제시하고 있다.


//가상 시나리오
myPromise()
   .then(function(result){
     //성공 콜백
   })
   .catch(function(error){
    //에러 콜백
   })
   .finally(function(){
    //결과에 관계없이 실행되는 콜백
   });


댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기