| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 티스토리챌린지
- Python
- loaddata
- listdir
- CSS
- Web
- 프리워커스
- HTML
- VSCode
- SSAFY
- 위코드
- 오블완
- 싸피
- dangerouslySetInnerHTML
- phython
- comprehension
- 프로그래밍폰트
- CSS #HTML #코드
- dumpdata
- vscode설치
- 파라미터
- Coding
- 코딩
- LIST
- django
- 역사
- 파이썬
- TIL #todayilearn #math #javascript #js #자바스크립트 #절댓값 #최댓값 #랜덤 #random #floor
- html #css #코딩 #입문 #코딩시작하기 #코딩입문 #파이썬 #자바스크립트 #비전공자 #비전공 #코딩학원
- wecode
- Today
- Total
당신의 친절한 이웃, 코딩맨
#39 JS - Promise 개념 본문
Promise 는 비동기적으로 실행하는 작업의 결과(성공 or 실패)를 나타내는 객체이다.
Promise(executor) 이렇게 'executor' 라는 한개의 인자 값이 들어간다.
executor는 'resolve' , 'reject' 이렇게 두개의 인자 값을 받는 실행 함수이다.
Promise라는 객체가 리턴해서 오기 때문에, 바로 그 값에 접근 할 수가 없다.
따라서, .then 같은 메소드들을 사용해야 한다.
let promise = new Promise(function (resolve, reject) {
setTimeout(function () {
let ran = Math.random() * 10;
if (ran > 5) {
resolve(ran);
} else {
reject();
}
}, 1000
});
Promise에 executor function (resolve, reject) 가 인자로 들어가고 그 executor 에는 (resolve, reject)의 두개의 인자가 들어간다.
그 이후 promise 값을 콘솔 하고 싶다. 혹은 그 뒤의 작업을 진행한다면,
Promise를 사용하고 있기 떄문에
promise.then(응답성공, 응답에러)
이런식으로 .then을 또 사용한다.
.then()은 이어받은 promise객체를 리턴한다.
timeAttack.then(function (num) {
console.log(num + 'complete');
}, function () {
console.log('error');
});
.promise.then(...).then(...).then(...)
이렇게 계속해서 콜백 함수들의 리턴 값을 이어받을 수도 있다. => chaining
::: 정리 :::
promise 에는 한개의 함수인 인자가 들어간다.
그 함수인 인자에 resolve, reject 이렇게 두개의 인자가 들어간다.
그냥 console.log(promise) 하면 객체가 프린팅 된다.
promise.then(응답 성공 함수 1, 응답 실패 함수2)
이렇게 접근 한다.
자바스크립트의 chaining 이란
=> 콜백함수의 리턴 값을 계속해서 이어 받아서 코드를 진개하는 방법
'Today I Learn (TIL)' 카테고리의 다른 글
| #41 VUE - 메뉴 혹은 목록이 바뀔 때 내용 바뀌게 하기 (0) | 2021.02.21 |
|---|---|
| #40 VUE - 스타일링 한개에 컴포넌트에만 적용하기 (0) | 2021.02.21 |
| #38 JS - Session(세션) & cookie(쿠키) 개념 (0) | 2020.12.17 |
| #37 JS - Vue CLI 설치 및 프로젝트 생성 커맨드 & 주요 항목 정리 (3) | 2020.11.11 |
| #36 JS - Vue CLI EACCES 에러, 권한 에러 뜰때 해결법 (0) | 2020.11.11 |