reduce 와 같은 js 배열 고차함수에서 비동기를 사용할때

정태민·2023년 6월 3일
0

자바스크립트

목록 보기
11/12

let promise = Promise.resolve();
const results = [];

keyArray.reduce((prevPromise, key) => {
return prevPromise
.then(() => redisClient.get(key))
.then(result => {
results.push(result);
});
}, promise);

// 최종 결과를 사용하려면:
promise.then(() => console.log(results));

배열 고차함수들은 실행 순서는 보장 되지만, await을 걸든 말든 reduce함수는 비동기 함수를 거의 동시에 실행을 하고 다음 동작으로 넘어간다.
그러므로 async,await보단 promis를 사용하자.

profile
퇴근후 30분 출근전 30분

0개의 댓글