일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FirebaseAnalytics
- s3이미지다운로드됨
- 시스템설계면접예시
- 리팩토링2판4장
- 전략패턴
- react-ga
- react
- 리팩터링2판테스트
- 헤드퍼스트전략패턴
- 가상면접으로대규모시스템
- git commit merge
- cypressBDD
- Git commit 합치기
- 가상면접2장
- formik react-query submitting not working
- 시스템설계
- formik submitting not working
- git commit 협업
- 시스템설계면접팁
- 가상면접3장
- 시스템설계면접
- gitsquash
- file not found Error
- awss3
- 시스템설계방법
- git squash
- 디자인패턴
- cypress React
- 테스트코드책
- 리액트구글애널리틱스
- Today
- Total
mingg IT
[Javascript] Promise 본문
Promise : 비동기 상태를 값으로 다룰 수 있는 객체
Promise이전엔 콜백이 많이 쓰임
Promise를 사용하면 비동기 프로그래밍을 할 때 코드를 순차적으로 작성할 수 있음
Promise의 3가지 상태
1. 대기중(pending) : 결과를 기다리는중
2. 이행됨(fulfilled) : 수행이 정상적으로 끝났고 결괏값을 가지고 있음
3. 거부됨(rejected) : 수행이 비정상적으로 끝났음
then은 처리됨 상태가 된 프로미스를 처리할 때 사용되는 메서드
Promise를 나타낼때는 then, catch로 나타낸다.
Promise.all : 여러개의 프로미스를 병렬로 처리할 때 사용하는 함수
Promise.race : 여러 개의 프로미스 중에서 가장 빨리 처리된 프로미스를 반환 하는 함수
Promise.race([
requestData(),
new Promise((_, regect) => setTimeout(reject, 3000)),
])
.then(data=> console.log(data))
.catch(error => console.log(error));
Promise 사용 시 주의할 점
Promise.resolve(10)
.then(data=>{
console.log(data);
Promise.resolve(20); //이렇게 사용해주어야함.
})
.then(data => {
console.log(data); // undefined 출력됨
});
await 키워드는 async await 함수 내부에서 사용된다.
프로미스는 생성과 동시에 비동기 코드가 실행됨.
Thenable은 프로미스처럼 동작하는 객체
'FrontEnd' 카테고리의 다른 글
[React] UI라이브러리를 사용하지 않은 코드 VS 컴포넌트 사용한 코드 (0) | 2021.01.13 |
---|---|
[JavaScript] 제너레이터(generator) (0) | 2021.01.12 |
[JavaScript] const, var, let 차이점 (0) | 2021.01.07 |
[React] 단일 페이지 애플리케이션(SPA) (0) | 2021.01.04 |
[React] Sass, css-in-js 적용 예제 (0) | 2021.01.03 |