728x90
반응형
프로미스(Promise)란?
Javascript에서의 Promise란 비동기 처리에 사용되는 객체입니다.
프로미스는 Promise 생성자 함수를 통해 인스턴스화합니다.
Promise 생성자 함수는 비동기 작업을 수행할 콜백 함수를 인자로 전달받는데 이 콜백 함수는 resolve와 reject 함수를 인자로 전달받습니다.
서버에서 받아온 데이터들을 화면에 표시할 경우 프로미스를 주로 사용합니다.
프로미스의 생성
// Promise 객체 생성
const promise = new Promise((resolve, reject) => {
// 비동기 작업 수행
if (/*조건*/) { // 비동기 작업 성공
resolve('success');
} else { //비동기 작업 실패
reject('fail');
}
});
프로미스는 비동기 처리가 대기, 성공, 실패의 프로미스의 상태(states) 정보를 갖게됩니다. 상태란 프로미스의 처리 과정을 의미합니다. new Promise()로 프로미스를 생성하고 종료될 때까지 3가지 상태를 가지게됩니다.
Pending(대기) : 비동기 처리가 아직 수행되지 않은 상태 (resolve, reject 함수가 아직 호출되지 않은 상태)
Fulfilled(성공) : 비동기 처리가 수행되어 프로미스가 결과 값을 반환해준 상태 (resolve 함수가 호출된 상태)
Rejected(실패) : 비동기 처리가 실패한 상태 (reject 함수가 호출된 상태)
728x90
반응형
'Study > JavaScript' 카테고리의 다른 글
모던 자바스크립트 Deep Dive - 4장 변수 (0) | 2023.05.11 |
---|---|
[JavaScript]디바운싱과 쓰로틀링이란? (0) | 2022.06.22 |
[Javascript] 콜백(Callback)이란? (0) | 2022.04.22 |
[JavaScript] 클로저(Closure)란? (0) | 2022.04.12 |
[JavaScript] 스코프(Scope)란? (0) | 2022.04.09 |