1. Promise

  • es6에서 처음 도입되었습니다.
  • 비동기 동작을 처리합니다.
  • Promise는 클래스입니다.
  • Promise 클래스를 인스턴스화 시켜서 객체를 만들어 사용합니다.
  • 반환된 promise로 원하는 비동기 동작을 처리합니다.
  • Promise는 ‘State’와 ‘resolve’, ‘reject’ 함수를 이해하면 됩니다.

2. Promise 구현하기

let promise = new Promise(function(resolve, reject) {
	// 비동기 로직 내용
	// api 호출
});
  • resolve : 비동기 로직이 성공했을 때 실행할 함수
  • reject : 비동기 로직이 실패했을 때 실행할 함수

3. resolve 이해하기

let promise = new Promise(function(resolve, reject) {
	// 비동기 로직 내용
	// api 호출
});

promise.then(function() {
	//이 함수가 resolve입니다!
  // 위 비동기 로직이 성공하면 이 함수가 호출됩니다!
}
});

4. reject 이해하기

let promise = new Promise(function(resolve, reject) {

});

promise.then(function() {//여기는 성공}, function() {//여기는 실패});

5. 주의

  • reject와 resolve는 하나만 호출됩니다.
  • resolve가 여러 개 있으면 맨 위에 것만 실행됩니다.
let promise = new Promise(function(resolve, reject) {
    setTimeout(function() {
				reject(1);
        resolve(2);
        resolve(3);
    }, 1000);
});

promise.then(function(msg) {
    console.log('resolve', msg);
}, function(msg) {
    console.log('reject', msg);
});
Last modified: 2022년 02월 17일

Comments

Write a Reply or Comment

Your email address will not be published.