Promise
Promise는 성공과 실패 여부를 판정하여 저장할 수 있도록 도와주는 문법이다. promise 객체를 하나 생성해주고, 성공과 실패를 판정하는 콜백함수를 작성해 준 다음 .then을 사용해 성공 및 실패 여부에 따라 실행할 문장을 작성할 수 있다. then은 성공 시 실행되는 문장이며, catch는 실패했을 때 실행될 문장을 가리킨다.
<script>
// promise = 성공/실패를 판정해 저장한다.
let promise = new Promise(function(성공,실패){
let plus = 1+2+3+4+5+6+7+8+9+10;
// 파라미터로 전해준 정보는 then까지 전달된다.
성공(plus);
})
promise.then(function(result){
console.log('프로미스 성공: ',result)
}).catch(function(){
console.log('프로미스 실패')
})
</script>
프로미스에는 resolved, pending, rejected라는 세 개의 상태가 있다.
resolved | 성공 상태 |
pending | 판정 대기 상태 |
rejected | 실패 상태 |
아래의 코드로 5초 뒤에 성공, 또는 실패 판정을 하는 코드를 실행해보자. login에 false를 주었기 때문에 반드시 실패 판정을 저장하는 코드이다.
<script>
let login = false;
// promise = 성공/실패를 판정해 저장한다.
let promise = new Promise(function(성공,실패){
if(login) {
setTimeout(function(){
성공(login)
},5000)
} else {
setTimeout(function(){
실패(login)
},5000)
}
})
promise.then(function(result){
console.log('프로미스 성공: ',result)
}).catch(function(){
console.log('프로미스 실패')
})
</script>
'JavaScript > JavaScript 기초' 카테고리의 다른 글
[Javascript] 자바스크립트 정규식 (0) | 2023.01.17 |
---|---|
[Javascript ES8] 기초 문법 15. async, await (0) | 2022.12.21 |
[Javascript ES6] 기초 문법 13. synchronous, asynchronous (0) | 2022.12.21 |
[Javascript ES6] 기초 문법 13. Import, Export (0) | 2022.12.21 |
[Javascript ES6] 기초 문법 12. Destructuring (1) | 2022.12.20 |
댓글