[javascript] Bluebird에서 결합된 프로미스의 사용법을 알려주세요.
Bluebird는 JavaScript의 프로미스를 다루는 데 도움이 되는 라이브러리입니다. Bluebird를 사용하면 프로미스를 결합하여 효율적으로 다룰 수 있습니다.
아래는 Bluebird를 사용하여 결합된 프로미스를 처리하는 방법에 대한 예제입니다.
프로미스 생성
const Promise = require('bluebird');
function getUser(id) {
return new Promise((resolve, reject) => {
// 사용자 정보를 가져오는 비동기 함수
// ...
if (user) {
resolve(user);
} else {
reject(new Error('User not found'));
}
});
}
function getUserOrders(userId) {
return new Promise((resolve, reject) => {
// 사용자 주문 정보를 가져오는 비동기 함수
// ...
if (orders) {
resolve(orders);
} else {
reject(new Error('Orders not found'));
}
});
}
결합된 프로미스 사용
getUser(123)
.then((user) => {
return getUserOrders(user.id);
})
.then((orders) => {
// 사용자 주문 정보를 처리
})
.catch((error) => {
// 에러 처리
});
위의 예제에서 getUser
함수는 사용자 정보를 가져오는 프로미스를 반환하고, getUserOrders
함수는 사용자의 주문 정보를 가져오는 프로미스를 반환합니다. 이 두 프로미스를 then
메서드를 이용하여 연결하여 순차적으로 처리할 수 있습니다.
위의 예제에서 getUser
로부터 반환된 사용자 정보를 이용하여 getUserOrders
를 호출하고, 그 결과로 반환된 주문 정보를 처리할 수 있습니다.
이와 같이 Bluebird를 사용하면 간단하고 간결하게 프로미스를 다룰 수 있습니다.
더 많은 정보를 원하시면 Bluebird 공식 문서를 참고해주세요.