[javascript] Bluebird를 사용하여 동기적인 코드에서 비동기 작업을 수행하는 방법을 알려주세요.
Bluebird는 JavaScript의 Promise를 관리하는 라이브러리로, 동기적인 코드에서 비동기 작업을 효율적으로 처리할 수 있도록 도와줍니다. Bluebird를 사용하면 콜백 지옥과 같은 문제를 해결하고, 코드를 더 간결하게 작성할 수 있습니다.
Bluebird 설치
먼저 Bluebird를 프로젝트에 설치해야 합니다. npm을 사용하여 아래 명령어로 Bluebird를 설치할 수 있습니다.
npm install bluebird
Bluebird를 사용한 예제
Bluebird를 사용하여 동기적인 코드에서 비동기 작업을 수행하는 방법을 아래 예제를 통해 알아보겠습니다.
const Promise = require('bluebird');
// 동기적인 함수
function synchronousFunction() {
return '동기적인 작업 완료';
}
// 비동기적인 작업을 Promise로 감싸기
function asynchronousTask() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('비동기 작업 완료');
}, 1000);
});
}
// Bluebird를 사용하여 동기적인 코드에서 비동기 작업 수행
Promise.resolve(synchronousFunction())
.then((result) => {
console.log(result);
return asynchronousTask();
})
.then((result) => {
console.log(result);
})
.catch((error) => {
console.error(error);
});
위 예제에서는 synchronousFunction
과 asynchronousTask
두 가지 함수를 정의한 후, Promise.resolve
를 사용하여 동기적인 코드 부분과 비동기적인 작업을 순서대로 처리하고 있습니다.
이를 통해 Bluebird를 사용하여 동기적인 코드에서 비동기 작업을 수행하는 방법을 알아보았습니다.