작성
·
13
0
안녕하세요! 강의 너무 잘 듣고 있습니다 ㅎㅎ
21강 비동기 처리 부분에서 비동기란 무엇인지 너무 잘 알려주셔서 어느정도 이해를 했다고 생각했습니다.
setTimeout을 활용해서 시간으로 생각하니까 이해가 잘 되는것 같아요!
그 다음 강의에서 Promise 라는 부분이 나오는데,
const promise = new Promise()
이와 같은 생성자 함수(?)로 Promise 객체를 생성해서 사용하는 이유가 궁금합니다.
정확히는 Promise 객체가 무엇인지 잘 와닿지 않습니다 ㅠㅠ 강의를 듣다 보면 "Promise를 반환한다." 라는 말을 자주 들어볼 수 있는데, 이 말이 잘 이해가 안되고 있어서 이렇게 질문 남겨봅니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. dobbymin2님.
Promise 객체는 JavaScript에서 비동기 작업을 처리하기 위한 객체입니다. 이는 작업이 완료된 후 결과 값을 반환하거나, 작업이 실패했을 때 에러를 처리하는 방법을 제공합니다. 비동기 작업은 일반적인 코드 실행 흐름과 다르게 실행되기 때문에, 작업의 완료 또는 실패 여부를 추적하는 데에 Promise가 유용하게 사용됩니다.
생성: new Promise()
생성자 함수로 Promise 객체를 생성합니다.
resolve
와 reject
.resolve
: 작업이 성공적으로 완료되었을 때 호출되며, Promise 객체가 성공 상태인 fulfilled
로 전환됩니다.reject
: 작업이 실패했을 때 호출되며, Promise 객체가 실패 상태인 rejected
로 전환됩니다.사용:
then()
메서드를 사용하여 성공 시의 결과를 처리할 수 있습니다.catch()
메서드를 사용하여 에러를 처리합니다.Promise를 사용하는 이유는 비동기 작업의 결과를 예측 가능하고 체계적으로 관리할 수 있기 때문입니다. 예를 들어, 서버에서 데이터를 가져오는 작업과 같은 것이 있습니다.
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('작업이 완료되었습니다!');
}, 1000);
});
promise
.then((message) => {
console.log(message); // 1초 후, '작업이 완료되었습니다!' 출력
})
.catch((error) => {
console.error(error);
});
Promise 객체가 무엇인지 더 이해하기 위해 아래의 링크에서 설명을 보실 수 있습니다:
- 비동기 처리와 Promise의 이해
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.