Promise 객체

Promise 객체란?

Promise 객체의 상태

비동기 처리 문법

JS에서 비동기를 처리하는 방식은 크게 3가지 경우로 볼 수 있다.

비동기 함수 내 처리 함수 내에 함수 실행(콜백함수)

function getDB(callback) {
    // 데이터베이스로부터 3초 후에 데이터 값을 받아온 후, 콜백 함수 호출
    setTimeout(() => {
        const value = 100;
        callback(value);
    }, 3000);
}

function main() {
    // 호출할 작업에 콜백 함수를 넘긴다
    getDB(function(value) {
        let data = value * 2;
        console.log('data의 값 : ', data);
    });
}
main();

Untitled

Promise와 .then

function getDB() {
  return new Promise((resolve,reject) => {
		if(성공시){
			resolve('성공시 반환값')
		} else{
			reject('에러값')
		}
  });
}

function main() {
  getDB()
    .then((value) => 
      console.log('data의 값 : ', value);
    })
    .catch((error) => {
      console.error(error);
    });
    .finally(() => {
	    console.log('성공하든 실패하는 무조건 실행')
    })
}

main();