[javascript] Bluebird를 사용하여 네트워크 요청의 에러를 처리하는 방법을 알려주세요.
1. Bluebird를 사용하여 네트워크 요청 보내기:
먼저 Bluebird를 사용하여 네트워크 요청을 보내는 방법에 대해 알아봅시다. 다음은 Node.js 환경에서 axios를 사용하여 네트워크 요청을 보내고 Bluebird의 Promise
를 활용하여 프로미스로 변환하는 예제입니다:
const Promise = require('bluebird');
const axios = require('axios');
Promise.promisifyAll(axios);
function fetchUserData(userId) {
return axios.getAsync(`https://api.example.com/users/${userId}`);
}
2. Bluebird를 사용하여 에러 처리하기:
Bluebird를 사용하여 네트워크 요청시 발생하는 에러를 처리하는 방법에 대해 알아봅시다. 아래 예제는 fetchUserData
함수를 사용하여 유저 데이터를 가져오는 동안 발생할 수 있는 에러를 처리하는 방법을 보여줍니다:
fetchUserData(123)
.then((response) => {
// 성공적으로 데이터를 불러왔을 때의 로직
console.log(response.data);
})
.catch(Promise.TimeoutError, (error) => {
// 타임아웃 에러 처리 로직
console.error('Request timed out', error);
})
.catch((error) => {
// 그 외의 모든 에러 처리 로직
console.error('Error fetching user data', error);
});
Bluebird의 catch
메소드를 사용하여 발생하는 특정 종류의 에러나 모든 에러를 처리할 수 있습니다. 위 예제에서는 Promise.TimeoutError
와 다른 모든 에러를 처리하는 방법을 보여줍니다.
3. 참고 자료:
- Bluebird 공식 문서: http://bluebirdjs.com/docs/api-reference.html
이제 Bluebird를 사용하여 네트워크 요청시 발생하는 에러를 처리하는 방법을 이해하셨을 것입니다. 이를 통해 안정적이고 신뢰할 수 있는 네트워크 요청 처리를 위한 기초를 다졌습니다.