(AngularJS) 프라미스
원격서버의 호출은 비동기 작업이기 때문에 응답이 리턴되는 시점을 보장할 수 없다.
그렇다면 특정 작업이 완료되는 시점을 알지 못하는 상황에서 어떻게 코드를 순서대로 실행할 수 있을까?
일단, 원격 서버를 호출한 뒤 리턴될 때까지 다른 작업을 수행할 수 있고, 호출이 리턴되었을 때 다시 원래 작업으로 돌아올 수 있다면 이는 정말로 환상적일 것이다.
프로미스가 바론 그런 일을 하기 위한 도구다
Angular 1.3 은 단순히 .then()메소드만을 사용하는 것이 아니라
.then()
.catch()
.finally()문법을 통해 프로미슬르 해석하는 새로운 개념을 제시하고 있다.
//가상 시나리오
myPromise()
.then(function(result){
//성공 콜백
})
.catch(function(error){
//에러 콜백
})
.finally(function(){
//결과에 관계없이 실행되는 콜백
});
그렇다면 특정 작업이 완료되는 시점을 알지 못하는 상황에서 어떻게 코드를 순서대로 실행할 수 있을까?
일단, 원격 서버를 호출한 뒤 리턴될 때까지 다른 작업을 수행할 수 있고, 호출이 리턴되었을 때 다시 원래 작업으로 돌아올 수 있다면 이는 정말로 환상적일 것이다.
프로미스가 바론 그런 일을 하기 위한 도구다
Angular 1.3 은 단순히 .then()메소드만을 사용하는 것이 아니라
.then()
.catch()
.finally()문법을 통해 프로미슬르 해석하는 새로운 개념을 제시하고 있다.
//가상 시나리오
myPromise()
.then(function(result){
//성공 콜백
})
.catch(function(error){
//에러 콜백
})
.finally(function(){
//결과에 관계없이 실행되는 콜백
});
댓글
댓글 쓰기