함수를 여러 번 사용해야하고 같은 방법을 반복해서 쓰지 않으려했습니다. $ .getJSON() 응답을 사용하여 반환 될 var에 저장하려고했습니다. 그 방법으로 나는 그 방법을 부를 수 있습니다.
function startFilter(){
var grid = [];
$.getJSON('data/gridData1.json',function(json){
grid = json;
console.log(grid);
});
console.log(grid);
return grid;
}
격자 var는 .getJSON 내부에 설정되지만 .getJSON 외부에는 설정되지 않습니다. 왜 어떤 아이디어가 필요하며 더 많은 정보가 필요하다면 알려주십시오.
아약스는 비동기입니다. return 문은'grid = json' 문 앞에 발생합니다. –
@ JasonP이 말한 것을 확장하려면 대신 $ .ajax를 사용하고 원하는 경우 async = false 옵션을 추가하면됩니다. 코드를 비동기 적으로 구조화하는 것이 좋습니다. 콜백 함수를'startFilter'에 전달하면 그리드가됩니다. 호출이 완료된 후에는 그리드와 함께 콜백 함수를 호출 할 수 있으며 콜백은 그리드에서 원하는 모든 작업을 수행 할 수 있습니다. – Pete