이재호

promise 본문

프론트엔드/자바스크립트

promise

호재이 2023. 3. 18. 16:23

프로미스란 내용이 실행은 되었지만 결과를 아직 반환하지 않은 객체

then 을 붙히면 결과를 반환함

resolve(성공리턴값 ) : then으로 연결

reject(실패리턴값) : catch로 연결

finally 는 무조건 실행

const promise = new Promise((resolve, reject)=>{

setTimeOut(()=>{
resolve()
}, 1000)

})


promise.then(()=>{
console.log('a')
})
const codition = true;
const promise = new Promise((resolve, reject)=>{
if(codition){
resolve('성공')
} else {
reject('실패')    
}
})


promise
.then((messeage)=>{
console.log(messeage)
) catch((e)=>{
console.log(e)
}){

}

콜백은 콜백헬 처럼 코드가 아주 지저분해지지만 promise는 분리가 되어있기때문에 코드 가독성도 좋습니다.

promise all : 여러개의 프로미스를 한번의 실행가능하게 하는데
단점은 프로미스중 하나라도 실패하면 다른 프로미스가 모두 성공해서 전부 catch로 갑니다.

promise all settled : 여러개의 프로미스를 한번의 실행가능하게 하는데 promise all settled는 실패한것만 추려냅니다.

'프론트엔드 > 자바스크립트' 카테고리의 다른 글

호출스택과 스코프체인  (0) 2023.03.15
클로저 예제  (0) 2023.02.18
XMLHttpRequest(XHR) VS Fetch VS Axios  (0) 2023.02.17
간단한 스코어 게임 만들기  (0) 2023.02.15
간단한 폼 리스트 만들기  (0) 2023.02.14