Node.js에서 async.waterfall 사용해 보기
Created:
Node.js에서 함수를 순차적으로 수행하기 위해 async.waterfall을 사용해 보았다.
예제
const async = require("async");
async.waterfall(
[
callback => {
// 첫번째 함수 수행
setTimeout(() => {
console.log("task 1");
callback(null, "task 2");
}, 1000);
},
(arg1, callback) => {
// 두번째 함수 수행
setTimeout(() => {
console.log(arg1);
callback(null, "done");
}, 500);
}
],
(err, result) => {
// 결과 함수 수행
if (err) {
console.error(err);
return;
}
console.log(result);
}
);
결과
task 1
task 2
done
위 예제에서 callback의 첫번째 인자로 null을 넘겨 주고 있는데 만약 함수 수행중 오류가 발생하면 이 첫번째 인자에 오류값을 넘겨주면 된다. 그렇게되면 다음 task를 수행하지 않고 바로 결과 함수로 넘어간다.
참조
https://www.npmjs.com/package/async-waterfall https://github.com/ryeon9445/javascript-test/blob/master/README.md#async-waterfall
Comments