[javascript] Underscore.js를 사용하여 비동기 함수의 결과를 취합하는 방법은 어떻게 되나요?
underscore.js는 자바스크립트의 유용한 라이브러리 중 하나로, array나 object 등을 다루는데 도움을 주는 다양한 함수들을 제공합니다. 비동기 함수의 결과를 취합하는 경우에도 underscore.js의 함수들을 사용할 수 있습니다.
아래는 underscore.js를 사용하여 비동기 함수의 결과를 취합하는 예제입니다:
var asyncTasks = [asyncFunc1, asyncFunc2, asyncFunc3];
var results = [];
// 비동기 함수들을 병렬로 실행하고 결과를 취합합니다.
_.each(asyncTasks, function(asyncFunc, index) {
asyncFunc(function(result) {
results[index] = result;
// 모든 비동기 함수의 결과를 취합한 후 마지막 콜백을 실행합니다.
if (_.compact(results).length === asyncTasks.length) {
finalCallback(results);
}
});
});
위의 예제에서는 asyncTasks
라는 배열에 비동기 함수들을 저장하고, 각 비동기 함수를 병렬로 실행합니다. 각 함수의 결과는 results
라는 배열에 저장되고, _.compact
함수를 사용하여 results
배열에서 undefined
인 값을 제거합니다. 그리고 모든 비동기 함수의 결과를 취합한 후 finalCallback
을 실행합니다.
underscore.js는 다양한 유용한 함수들을 제공하므로, 비동기 함수의 결과를 취합하는 것 외에도 다른 작업에도 활용할 수 있습니다. underscore.js의 공식 문서에서 더 많은 정보를 확인하시기 바랍니다.
참고 문서:
- Underscore.js 공식 문서: https://underscorejs.org/