본 글은 글쓴이가 꺼내보기 위함의 목적이 큰 글입니다 :)
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