지오코더객체의 주소->좌표변환 결과값을 전역변수로 사용하고싶습니다

안녕하세요 현재 포트폴리오용 프로젝트를 진행중인 초보개발자입니다

DB에서 주소를 받아 자바스크립트에서 geocoder를 이용하여 주소를 좌표로 변환하고있습니다

	    storeAddress = new Array();
    	for(let i = 0; i < storeList.length; i++){
    		storeAddress[i] = JSON.stringify(storeList[i].address); //storeList는 DB에서 받아온 주소객체
    	}

    	storeAddress.forEach(storePosition);
    	
    	function storePosition(element, index, array){
    		geocoder.addressSearch(storeAddress[index], function(result, status) {
    		    if (status === kakao.maps.services.Status.OK) {
    				console.log(result);
    		    }
    		});
    	}

이 과정에서 결과값 result를 storePosition함수 밖으로 빼내서, 전역변수로 사용하고 싶은데 방법이 있을까요?

전역으로 뺀다 하더라도 감히 예상컨데
비동기 컨텍스트 흐름상 사용하기 힘든 구조가 나올겁니다.

https://devtalk.kakao.com/t/topic/57418/2?u=doji.doo

위 답변을 참고하세요.

답변 감사합니다.
답변주신 코드에서 결과값인 kvTable의 항목을 분할해서 console.log찍었을 때 undefinded라고 나오는데
배열의 항목을 분할시켜 추출할 방법은 없을까요?
console.log(kvTable) => 잘나옴
console.log( kvTable[0]) => undefinded

kvTable 은 오브젝트 입니다.
key-value 테이블이지 배열이 아니에요.

kvTable을 배열화 하여 사용하려면 다음과 같이 해 보세요.

var results = Object.values(kvTable);
console.log(results[0]) // OK

만약 애초부터 배열로 받고 싶다면,

// var kvTable = {}; // 이건 삭제하고
var results = [];
var queries = [ /* many addresses */ ];
var counter = 0;

function doNext() {
    console.log(results[0]); // OK
}

queries.forEach(function (q, index) {
    geocoder.addressSearch(q, function (status, result) {
        if (status === daum.maps.services.Status.OK) {
            results[index] = result[0];
        }

        counter++;
        if (counter === queries.length) {
            doNext();
        }
    });
});

한번만 더 여쭤보겠습니다 ㅜ
배열인덱스로 표현되지않는 이유를 찾았는데

캡처

사진에서 위의 object는 result값의 x좌표, 밑의 array는 주소리스트입니다.
콘솔을찍어보니
주소리스트는 값이 배열에 제대로 들어갔지만,
result값의 x좌표에는 좌표값들이 {}밖에 찍혀있습니다.

	var resultX = new Object();

function storePosition(element, index, Array){
	geocoder.addressSearch(element, function(result, status) {
	    if (status === kakao.maps.services.Status.OK) {
			resultX[index] = result[0].x;
	    }
	});
}

저는 이런식으로 resultX를 저장했는데, 저장방법이 잘못된것인가요?
resultX를 new Array()로 선언후에
resultX.push(result[0].x); 해도 똑같이 괄호밖에 저장되었습니다

질문자님께서 왜 결과가 잘못되었다고 생각하시는 모르겠습니다.
결과가 어떻게 나오길 원하는지 모르는 상황에서 답변드리기 힘든 질문이에요.

현재 보이는 결과는 작성한 코드대로 잘 나오고 있습니다.

포트폴리오를 위한다고 하셨으니 조금 더 공부를 해 보시는 것을 추천드립니다.
무엇인가를 헤깔려 하시는 같은데, 그 개념을 이해하시는 것이 먼저인 듯 합니다.
로그를 좀 더 디테일하게 찍어서 확인해 보세요.