[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의 공식 문서에서 더 많은 정보를 확인하시기 바랍니다.

참고 문서: