[JavaScript] Promise 확인하기
- Web/JavaScript
- 2024. 9. 3.
🥠 Promise 코드 사용하기
//promise
function gogo() {
console.log('start');
let pro = new Promise((resolve, reject) => {
let success = false;
if(success) {
//성공
resolve('this is success');
} else {
reject('fail');
}
});
pro.then(resolve => {
console.log(resolve);
})
.catch(reject => {
console.log( reject);
})
.finally(() => {
console.log('반드시 실행');
})
}
Promise는 비동기 작업의 완료를 대표하는 객체 중 하나이다.
비동기 작업은 주로 네트워크 요청, 파일 I/O 등과 같은 즉시 완료되지 않는 작업을 의미한다.
🥠Promise 상태
상태 | 설명 |
Pending ( 대기 ) | 초기 상태로, 아직 작업이 완료되지 않음. |
Fulfilled ( 이행 ) | 작업이 성공적으로 완료되어 프로미스가 결과 값을 가지게 됨. |
Rejected ( 실패 ) | 작업이 실패했거나 에러 발생 |
🥠Promise 함수
함수 | 설명 |
resolve | 성공 했을 때, 담는 함수 |
reject | 실패 했을 때, 담는 함수 |
🥠 Promise 실행 함수
함수 | 설명 |
then | resolve에 담기거나, 성공적으로 이행 됐을 때 실행 함수 |
catch | reject에 담기거나, 코드가 실패했을 때 실행 함수 |
finally | 성공 했거나, 실패했거나 반드시 실행되는 함수 |
Promise 안의 resolve 혹은 reject 함수가 실행 되었을 경우, Promise는 종료처리가 된다.
해당 코드를 사용하는 이유는, 비동기 코드를 좀 더 가독성 좋게 만드려고 하는 것에 이유가 있다.
처음 접했을 때는 힘들지만, ajax나 axios등 비동기 코드를 동작할 때, 코드의 순서를 제어할 수 있다는 것에 큰 의미가 있다.
반응형
'Web > JavaScript' 카테고리의 다른 글
[JavaScript] Cookie로 데이터 저장해보자. (1) | 2024.09.05 |
---|---|
[Node] File BLOB로 저장하기 (0) | 2024.04.23 |
[JavaScript] CallBack 함수 사용하기 (1) | 2023.11.20 |
[JavaScript] Object 복사하기 (0) | 2023.11.10 |
[JavaScript] Date타입 다루기 (0) | 2023.06.05 |