티스토리 뷰
const promised = resultSearch.map(async (item) =>{
const _quadKey = item.quadKey;
const _longitude = item.center[0];
const _latitude = item.center[1];
console.log("_quadKey", _quadKey);
console.log("_resultSearch", item);
const _getResponse = await tileQueryApi(_longitude, _latitude);
let _saveInfraPoint = 0;
_getResponse.data.features.map(item => {
const _maki = item.properties.maki;
const _mode = item.properties.mode;
const _stopType = item.properties.stop_type;
_saveInfraPoint += getInfraPoint(_maki, _mode, _stopType);
});
return {
quadKey: _quadKey ,
data: _saveInfraPoint
};
});
const awaitAllData = await Promise.all(promised);
console.log("awaitAllData", awaitAllData);
onScreen.current.infraData = awaitAllData.concat(onScreen.current.infraData);
해결한 방법은 위와 같았다.
map으로 도는 쿼리를 만든후에 Promise.all 처리를 해서 모든게 도는것을 기다리는 형태
참고는 여기서 했다.
[번역] 반복문안에서의 자바스크립트 async/await (tistory.com)
'프로그래밍 > 자바스크립트 ' 카테고리의 다른 글
for문이 돌면서 await 문을 실행해야 할때 (0) | 2022.02.18 |
---|---|
소수점 2자리 까지만 허용하는 정규표현식 (0) | 2022.02.16 |
mapbox - production환경에서 에러가 날때 (0) | 2022.01.19 |
전 지구를 10m 단위로 쪼개는 방법 (0) | 2021.11.30 |
리액트 동적 이미지 적용하기 (0) | 2021.05.18 |