Javascript

Javascript ES6 - Promise

hyunzxn 2022. 1. 19. 12:06

Promise 역시 콜백함수와 마찬가지로 디자인패턴 중 하나입니다. 

 

1️⃣  Promise 만들기

 

const promise1 = new Promise();

 

이렇게 해주면 promise가 만들어진 것입니다. 이제 promise1 뒤에 then, catch, finally 등을 사용해서 코드를 작성할 수 있습니다. 

 

then은 프로미스 안의 코드가 성공했을 때 실행하는 것이고 catch는 프로미스 안의 코드가 실패했을 때 실행하는 것이고 finally는 프로미스 안의 코드의 성공과 실패에 상관없이 실행시키는 것입니다.

 

사실 promise를 만들 때는 Promise 안에 코드를 넣어줘서 만들어야 합니다. 자세한 건 차차 공부해보겠습니다.

 

 

2️⃣  Promise  사용하기

 

프로미스의 정체는 사실 성공과 실패를 판단해주는 기계라고 생각하면 됩니다. 프로미스 안에 넣은 코드 이후에 성공 판정 혹은 실패 판정을 내려달라고 미리 만들어 놓는 것입니다.

 

const promise1 = new Promise( (resolve, reject) => {
    resolve();
});

promise1.then( () => {console.log('성공이에요')} ).catch( () => {console.log('실패에요')} );

 

Promise 안에는 콜백함수가 하나 들어갑니다. 그리고 그 콜백함수는 관습적으로 resolve와 reject라는 두 가지 파라미터를 가집니다. 이름은 달라도 상관없지만 관습적으로 이렇게 사용합니다. 그리고 그 콜백함수 안에 resolve() 라고 써주면 성공 판정이 되는 것이고, reject() 라고 써주면 실패 판정이 되는 것입니다. 위 코드에선 resolve()라고 적었으니 무조건 성공판정이 될 것이고 따라서 then에 있는 함수가 실행됩니다.

 

 

728x90