JavaScript의 비동기 처리 Promise(1)

마자요·2023년 12월 6일
0

Promise의 정의

비동기 처리를 실행하고 그 처리가 끝난 후에 다음 처리를 실행하기 위한 용도로 사용한다.

Promise 객체를 생성하기 위한 코드는 다음과 같다.

var promise = new Promise(function(resolve,reject) {...})

resolve : 함수 안의 처리가 끝났을 때 호출해야 하는 콜백함수
reject : 함수 안의 처리가 실패했을 때 호출해야 하는 콜백함수

promise.then(onFullFilled)

onFullFilled(성공 콜백 함수) : Promise 안의 처리가 정상적으로 끝났을 때 호출되는 함수

var promise = new Promise(function(resolve,reject) {
		
        setTimeout(function() {
        	var name = prompt("이름을 입력하십시오")
            resolve(name)
        },1000)
})

promise.then(function(name) {
	console.log("안녕하세요,"+name+" 님!")
})

promise.catch(onRejected)

onRejected(실패 콜백 함수) : Promise 안의 처리가 실패로 끝났을 때 호출되는 함수

var promise = new Promise(function(resolve,reject) {
		
        setTimeout(function() {
        	var n = parseInt(prompt("10미만의 숫자를 입력하십시오"))
			
            if( n <= 10){
            	resolve(n)
            }
            else {
            	reject(`오류: ${n}은 10 이상입니다.`)
            }
				
        },1000)
})

promise
.then(function(num) {
	console.log(`입력받은 숫자: ${num}`)
})
.catch(function(error) {
	console.log(error)
})
profile
Security Engineer를 준비중인 Junior 개발자입니다(Devops/ Cyber Security/Backend에 관심이 많습니다).

0개의 댓글