JavaScript

[JS] 자바스크립트 Promise

민돌v 2021. 8. 16. 14:44

Promise

Promise란, (약속)

JavaScript에서 제공하는 비동기를 간편하게 처리할 수 있도록 도와주는 object이다.


Promise 기능

프로미스는 정해진 기능을 수행하며,
이 수행을 성공하면 어떤 값을 Return 하고

문제가 발생하면 error를 Return 한다.

Promise 객체의 interface를 보면, executor라는 콜백함수 안에 (reslovereject 라는 2개의 콜백함수를 인자로 받는다)

 

여기서 Executor 콜백함수는 

프로미스 객체가 생성되면 자동적으로 실행하는 콜백함수이다. (Automatically function)

따라서 사용자와 서버가 불필요한 통신을 수행할 수 있기때문에 사용에 유념하여햐한다.


reslove 와 reject 

resolve와 reject의 차이점은

resolve : Promise가 성공적인 값을 반환함을 의미

reject : Promise의 수행이 실패했음을 의미한다.


Promise의 사용법은 

Promise 객체를 만들면, excutor callback 함수로 인해 선언된 기능이 자동적으로 수행된다.

그럼 이 객체에 값이 담기게 되는데

 

Promise가 resolve로 성공적으로 값을 반환하면 Promise_object.then() 을 이용하여 값을 받아올 수 있고

기능 실패로  reject로 에러를 반환하면, catch()로 에러를 핸들링 할 수 있다.

 

 

마지막으로 프로미스의 성공과 실패에 상관없이 무조건적인 실행을 요한다면

finally()를 이용할 수 있다.