티스토리 뷰
728x90
반응형
Promise는 자바스크립트에서 비동기 작업을 처리하기 위한 객체입니다.
비동기 작업은 결과가 언제 도착할지 확신할 수 없는 작업을 의미하며, 예를 들어
서버에서 데이터를 가져오거나 파일을 읽는 작업 등이 해당됩니다.
Promise는 이런 비동기 작업을 더 효율적으로 처리하고 결과를 다루기 위한 패턴을 제공합니다.
// Promise를 사용하여 비동기적으로 숫자를 제곱하는 함수
function squareNumberAsync(number) {
return new Promise((resolve, reject) => {
if (typeof number !== 'number') {
reject('Input is not a number'); // 오류 처리
} else {
setTimeout(() => {
const result = number * number;
resolve(result); // 성공 처리
}, 1000); // 1초 후에 결과 반환
}
});
}
// Promise 사용 예제
squareNumberAsync(5)
.then(result => {
console.log('Result:', result);
})
.catch(error => {
console.error('Error:', error);
});
위 코드에서 squareNumberAsync 함수는 입력된 숫자를 제곱하는 작업을 비동기적으로 처리합니다. Promise 객체를 생성하여 비동기 작업을 감싸고, resolve 함수로 성공적인 결과를 전달하거나 reject 함수로 오류를 처리합니다. setTimeout 함수를 사용하여 1초 후에 결과를 반환하는 것을 시뮬레이션합니다.
Promise를 사용한 비동기 작업을 처리하기 위해 .then() 메서드는 성공적인 결과를 처리하고, .catch() 메서드는 오류를 처리합니다.
이런 방식으로 Promise를 사용하여 비동기 작업을 효과적으로 처리할 수 있습니다. Promise는 콜백 지옥을 피하고 코드를 더 구조화하며 유지보수 가능한 형태로 만들어주는데 도움이 됩니다.
728x90
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- await
- jstl(java standard tag library)
- system.io
- 진수 변환
- 인텔리제이(intellij)
- nl2br
- 메이븐(maven)
- .submit()
- 스프링 시큐리티(spring security)-http basic 인증
- 스프링 프레임워크(spring framewordk)
- jsp 오픈 소스
- 람다식(lambda expression)
- 표현 언어(expression language)
- 스프링 프레임워크(spring framework)
- jstl(java standard tag library)-core
- MainActor
- java 키워드 정리
- 스프링 시큐리티(spring security)
- java-개발 환경 설정하기
- System.Diagnostics
- error-java
- In App Purchase
- java.sql
- 문자 자르기
- 제품 등록
- 특정 문자를 기준으로 자르기
- REST API
- React
- java web-mvc
- 상품 등록
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함