Promise for문 돌리기

mangojang·2022년 5월 3일
0

본 글은 글쓴이가 꺼내보기 위함의 목적이 큰 글입니다 :)

async-await 패턴으로 여러개의 primise를 병렬로 실행하려고 할 때, (ex> 배열 돌려서 함수 실행)

일반 for문이나, forEach문을 쓰면 promise가 생각대로 순서대로 진행되지 않음.

그럴때는 for-of 문을 쓰자

const datas =["a","b","c","d"]

function promise1 (text){
	const p1 = new Promise((resolve, reject)=>{
		setTimeout( function() {
	    resolve(text)
	  }, 250)
	})
}

const callFunc = async function(){
	try{
		for (const txt of datas) {
			const text = await promise1(txt);
			console.log(text); /// a,b,c,d  순차적으로 확인 가능
		}
	}catch(error){
		console.log(error);
	}
}

참고문헌

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Promise

https://medium.com/@trustyoo86/async-await를-이용한-비동기-loop-병렬로-순차-처리하기-315f31b72ccc

profile
한 걸음 한 걸음 계속 걷는 자가 일류다

0개의 댓글