서버에 연결하여 JSON 객체를 검색하는 함수를 작성하고 있습니다. 처리하고 일부 HTML 태그에로드 할 값이있는 일반 배열을 반환합니다. 다른 방법을 사용하여 수행 할 수 있지만 다음 코드를 사용하고 있음을 알고 있습니다.콜백 메소드 외부에서 JSON 객체에 액세스하기
var names = new Array();
function fetch (key) {
var url = 'server/server.php?key=' + key
$.getJSON(url , sett = function(data) {
$.each(data, function(key, value){
names[key] = value['name'];
});
console.log(names);//works and print the values
});
console.log(names);//doesn't work, shows and empty array
}
나는 jQuery를 각에 의해 필터링 된 값을 개최 배열을 반환하려는, 그래서이 기능은 어떤 큰 응용 프로그램의 표준 기능으로 작업 할 수 있습니다. 어떻게 할 수 있습니까?
데이터를 가져올 때까지 기다려야하므로 작동하지 않습니다. '.getJSON' 안에 코드를 넣으십시오. –
내가하는 방식 (콜백 내에서 초보자이기 때문에 가장 좋지 않을 수도 있음)은 json 값을 콜백 내 전역 값과 같게 만드는 것이다. 마지막 문장은 전체 처리 함수에 대한 함수 호출이다. 나는 내가하는 것보다 더 많은 지식을 가진 사람들이 어떻게하는지 알기를 바랍니다. – Terry
콜백은이를 수행하는 좋은 방법이지만 공식적인 방법은 기능 완료시에 발생하는 지연 또는 맞춤 이벤트를 사용하는 것입니다. –