[javascript] Underscore.js를 사용하여 비동기 함수를 병렬로 실행하는 방법은 어떻게 되나요?
_.map
함수를 사용하여 비동기 함수를 각 요소에 적용합니다.
const asyncFunctions = [asyncFunction1, asyncFunction2, asyncFunction3];
const results = await Promise.all(_.map(asyncFunctions, async (func) => {
return await func();
}));
_.parallel
함수를 사용하여 비동기 함수를 병렬로 실행합니다.
const asyncFunctions = [asyncFunction1, asyncFunction2, asyncFunction3];
const results = await _.parallel(asyncFunctions);
Underscore.js는 비동기 코드를 동기식으로 처리할 수 있도록 도와주는 유용한 함수들을 제공합니다. 위의 예제 코드에서는 _.map
함수를 사용하여 각 비동기 함수를 실행하고 결과를 배열로 반환합니다. 그리고 Promise.all
함수를 사용하여 모든 비동기 함수의 결과를 기다립니다.
또 다른 방법은 _.parallel
함수를 사용하는 것입니다. 이 함수는 병렬로 여러 비동기 함수를 실행하고 모든 결과를 반환합니다. 이 방법은 코드를 더 간결하게 작성할 수 있습니다.
여기서 주의할 점은 async
/await
키워드를 사용하여 비동기 함수를 동기식으로 처리한다는 것입니다. 이렇게 함으로써 코드의 가독성을 향상시킬 수 있습니다.
더 자세한 내용은 아래의 참고 자료를 확인해주세요.