[javascript] Bluebird를 사용하여 비동기 작업의 진행 상태를 모니터링하는 방법을 알려주세요.
Bluebird는 JavaScript를 위한 강력한 프라미스 라이브러리로, 비동기 작업을 보다 쉽게 다룰 수 있게 해줍니다. Bluebird를 사용하여 비동기 작업의 진행 상태를 모니터링하는 방법을 알아보겠습니다.
Bluebird의 프로그레스 이벤트
Bluebird는 프로미스의 진행 상태를 모니터링하기 위한 progress
이벤트를 제공합니다. 이 이벤트를 사용하여 비동기 작업의 진행 상태를 추적할 수 있습니다.
const Promise = require('bluebird');
const promise = new Promise((resolve, reject, progress) => {
// 비동기 작업 실행
for (let i = 0; i < 100; i++) {
// 작업 진행 상태 보고
progress(i);
}
// 작업 완료
resolve('작업 완료');
});
// 진행 상태 모니터링
promise.progress((value) => {
console.log('진행 상태:', value);
});
// 프로미스 완료 시 처리
promise.then((result) => {
console.log('결과:', result);
});
위 코드에서 promise
객체는 진행 상태를 모니터링하는데 사용됩니다. progress
이벤트를 사용하여 작업의 진행 상태를 보고하고, then
메서드를 사용하여 작업 완료 후의 처리를 정의할 수 있습니다.
Bluebird의 비동기 작업 모니터링 예제
아래는 간단한 예제를 통해 Bluebird를 사용하여 비동기 작업의 진행 상태를 모니터링하는 방법을 보여줍니다.
const Promise = require('bluebird');
function performTask() {
const taskPromise = new Promise((resolve, reject, progress) => {
for (let i = 0; i <= 100; i++) {
// 작업 진행 상태 보고
progress(i);
}
resolve('작업 완료');
});
// 진행 상태 모니터링
taskPromise.progress((value) => {
console.log('진행 상태:', value + '%');
});
// 작업 완료 후 처리
taskPromise.then((result) => {
console.log('결과:', result);
});
return taskPromise;
}
performTask();
위 예제에서 performTask
함수는 Bluebird 프로미스를 사용하여 비동기 작업을 수행하고, 진행 상태를 모니터링하는 방법을 보여줍니다.
Bluebird를 사용하여 비동기 작업의 진행 상태를 모니터링하는 방법에 대해 간단하게 살펴보았습니다.
더 자세한 내용은 Bluebird 공식 문서를 참조하시기 바랍니다.