Promise의 callbak
Promise란?
객체는 비동기 계산을 위해 사용된다. 아직은 아니지만 나중에 완료 될것을 연상으로 표현
Promise는 비동기 동작 완료 후 결과 값 혹 실패 이유를 콜백으로 전달 합니다.
상태는 아래와 같이 2가지 입니다.
fulfilled : 비동기 동작 정상 완료
rejected : 비동기 동작 중 에러 발생
var test = function(bool){
return new Promise(function(resolve, reject){
function test2(){
// 응답
}
})
}
test(true).then(function(result){
// 응답 결과
}).catch ( function(err) {
// 응답 에러
});
Promise 생성자의 prototype에는 then(), catch() 메서드가 위와 같이 존재합니다.
then() 매서드는 비동기 처리가 성공적으로 처리 되었을때, catch()메서드는 비동기 처리가 실패 했을 때 각각 호출 됩니다.
Promise 생성자의 then()과 catch() 는 새로운 Promise를 반황 하므로 비동기 연결 동작이 가능하다
Promise의 메서드 종류
Promise.all(iterable) : 모든 promise fulfiled or promise가 하나라도 reject된 경우 promise를 반환
모든 promise 되면 fulfiled 되면 배열로써 결과를 전달 reject가 된 경우 reject를 반환
Promise.race(iterable) : fulfiled, rejected 상관없이 처음 종료된 promise를 반환
Promise.reject(reason) : reject를 반환
Promise.resolve(value) : resolve를 반환
요약을 하면
1. 다른 Promise는 return 값으로
2. 발생한 response나 undefined를 return
3. throw 에러 처리