Language/Javascript
[Javascript] Promise
js-web
2023. 6. 19. 09:22
반응형
1. Promise란
Promise는 ES6에서 새로나운 객체로, then, catch, finally 프로퍼티를 사용하여 비동기처리를 제공하는 기능입니다.
1) then : 앞선 비동기 동작이 종료된 후 동작될 function을 매개변수로 정의한 뒤 이후 순차적으로 then내부에 있는 function들이 동작됩니다.
2) catch : then 동작 중 error 발생 시 가로채어 에러처리를 정의할 수 있습니다.
3) finally : 모든 then 동작이 마무리된 후 마지막에 실행 될 function을 정의합니다.
2. Promise 예제
console.log('1');
function callback1 () {
return new Promise ((resolve)=> {
setTimeout(function() {
resolve('2')
}, 1000)
})
}
function callback2 () {
return new Promise ((resolve, reject)=> {
setTimeout(function() {
reject('3')
}, 1000)
})
}
callback1()
.then((number)=>{
console.log(number);
return callback2();
})
.then((number)=>{
console.log(number);
})
.catch((error)=>{
console.log('error :', error);
})
.finally(() => {
console.log('finally!!');
});
console.log('4');
Promise 객체는 new를 붙여 생성하며 첫번째 파라메터 자리에 callback 함수의 전달인자 resolve와 reject는 각각 비동기 이후 응답될 데이터의 성공 실패를 각각 resolve('return value'), reject('retrun error value')로 사용합니다.
반응형