Promise

yeomi·2018년 11월 12일
0
post-thumbnail

Promise

자바스크립트는의 비동기 처리에 사용되는 객체이다.

비동기 처리

setTimeout(function(){
	console.log('안녕');
},3000);
console.log('하세요');
  • 3초 뒤, '안녕' 출력
  • '하세요' 출력

위처럼 순서대로 실행되는 것이 아니라 실제로는 아래처럼 실행된다.

  • '하세요' 출력
  • 3초 뒤, '안녕' 출력

비동기 처리는 이처럼 특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 수행한다.

Promise의 상태

  1. Pending : 대기 상태
  2. Fulfilled : 이행 상태
  3. rejected : 실패 상태
function jqeuryAjax(){
	return new Promise((resolve, reject)) => { //new Promise()를 호출하여 대기 상태
    	jquery.ajax({
        	...
            },
            success: (result) => {
                resolve(result); //resolve()를 실행하여 이행 상태
            },
            error: (error)=>{
                reject(error); //reject()를 실행하여 실패 상태
            }
        });
    }
}
jqeuryAjax().then((result) => { //이행된 결과값을 then()으로 받음
	console.log(result); 
}).catch((error) => { // 실패한 결과값을 catch()로 받음
	console.log(error) 
});
profile
궁금한 것들을 공부하며 정리합니다.

4개의 댓글

comment-user-thumbnail
2018년 11월 13일

맨위 코드 블록 실행시키면
'하세요'가 출력되고 3초뒤에 '안녕'이 출력되는 거죠?

1개의 답글
comment-user-thumbnail
2018년 11월 14일

asdfasdf

1개의 답글