Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- SQL
- db
- 14658
- 데코레이터
- 백준
- 알고리즘
- 셀프넘버
- Python
- sqld
- 플로이드워셜
- unionfind
- Javascript
- 싸피
- git
- 머신러닝종류
- queryset
- QuerySetAPI
- 싸피셜
- VITE
- TypeScript
- Django
- 싸피10기
- pwa적용하기
- SSAFYcial
- vitepwa
- js
- SSAFY
- PWA
- 리액트
- react
Archives
- Today
- Total
Meme's IT
[JS] Node js에서 Promise 쓰기 본문
Promise가 뭐더라..?
# Promise
다음에 할 행동을 약속한다
- resolve( ): Promise 객체가 성공할 때 호출되어 결과 값을 전달
- reject( ): Promise 객체가 실패할 때 호출되어 결과 값을 전달
- then( ): 로직 이행 성공 시 then으로 넘어감(resolve 호출 시)
- catch( ): 로직 이행 실패 시 catch로 넘어감(reject 호출 시)
간단한 Promise를 이용하는 코드
const myPromise = new Promise((resolve, reject) => {
let num = 3
if (num === 0) {
resolve('성공')
} else {
reject('로직 수행 실패!')
}
})
myPromise.then((result) => {
console.log(result)
}).catch((error) => {
console.log(`error는 ${error}`)
})
공식문서에서 더 공부하기
※ 참고
Promise의 상태
만약에 Promise 안에 if문이 없다면? 어떻게 될까
const myPromise = new Promise((resolve, reject) => {
resolve('성공일까?')
reject('실패일까?')
})
myPromise.then((result) => {
console.log(result)
}).catch((error) => {
console.log(`error = ${error}`)
})
성공이 나온다.. 왜?
resolve와 reject 중 먼저 호출되는 함수 기준으로 끝난다 -> return 같은 역할
그러므로 위에 나온 resolve가 먼저 호출되어서 성공이 나오는것
reject가 먼저 나온다면..? 위에 있는 reject가 먼저 호출되므로 실패가 나온다.
resolve와 reject를 모두 쓰고 then만 쓴다면?
→ 오류가 생김
'FrontEnd > JavaScript' 카테고리의 다른 글
[JS] JavaScript에서 import 써보기 (0) | 2023.11.13 |
---|---|
[JS] async와 await (0) | 2023.10.31 |
[JS] Axios (0) | 2023.10.30 |
[JS] 동기와 비동기 (0) | 2023.10.30 |
[JS] 이벤트 (0) | 2023.10.30 |