Promise all

HSKwon·2022년 6월 22일
0

여러개의 비동기 처리를 병렬로 하고 싶다면?

비동기 처리란 순서가 보장되지 않아도 되는 상황을 말한다. "유저를 조회하고 거기서 얻은 유저 아이디를 통해 찜하기 상품을 가져온다"와 같은 경우이다! (순서와 무관한) 그렇다면 이런 순서와 무관한 비동기 작업을 병렬로 진행하려면 어떻게 해야할까...... 일단 async await를 살펴보자

async function display (text, time){
	return new Promise((resolved, rejected) => {
    	setTimeout(
        ()=>
        	typeof text === "string" ? resolved("스트링") : rejected("reject"), time
        )
    }
}

Promise.all을 사용하면 훨씬 단축시킬 수 있음

console.time("소요시간");
await Promise.all([
	display("jacob"),
    display("제이콥"),
    display("good")
]);
console.timeEnd("소요시간")
profile
공부한 내용이나 관심 있는 정보를 글로 정리하며 익숙하게 만들고자 합니다.

0개의 댓글