본문 바로가기
Q&A2018년 7월 8일1분 읽기

JavaScript Promise 사용법 좀 알려주세요

자
자바스크립트입문
조회 2600댓글 3

JavaScript에서 비동기 처리를 위해 Promise를 사용해야 한다는데, 콜백 지옥에서 벗어나고 싶습니다.

Promise의 기본 구조와 then/catch 사용법, 그리고 Promise.all 같은 것도 설명 부탁드립니다.

// 콜백 지옥...
getData(function(a) {
  getMoreData(a, function(b) {
    getEvenMoreData(b, function(c) {
      console.log(c);
    });
  });
});

댓글 3

프프론트수진8년 전
Promise 기본 구조입니다:
```js
const promise = new Promise((resolve, reject) => {
// 비동기 작업
if(성공) resolve(결과);
else reject(에러);
});

promise.then(result => console.log(result)).catch(err => console.error(err));
```
체이닝으로 콜백 지옥을 해결할 수 있어요.
코코딩하는민수8년 전
Promise.all도 유용합니다. 여러 비동기 작업을 동시에 실행하고 모두 완료되면 결과를 받을 수 있어요.
```js
Promise.all([fetch(url1), fetch(url2), fetch(url3)])
.then(([r1, r2, r3]) => { /* 모든 결과 사용 */ });
```
그리고 async/await도 같이 공부하세요. Promise를 더 깔끔하게 쓸 수 있습니다.
자자바스크립트입문(guest)프론트수진8년 전
오 체이닝이 정말 깔끔하네요! then을 계속 연결할 수 있는 거군요.
Ctrl+Enter로 등록