내가 다른 함수를 호출하는 기능을 가지고 있고이 변수에 반환 된 결과를 저장할 :범위 지정 문제
function trigger_gridly(){
var channel_name = get_channel_name();
}
호출 된 함수가 JSON을받는 콜백을 트리거하는 AJAX 요청을 트리거 :
function get_channel_name(){
var channel_name;
$.getJSON(APPLICATION_DOMAIN + "channels/new.json?callback=?", null, handleJson);
}
function handleJson(channel){
var channel_name = channel.name;
return channel_name;
}
문제 trigger_gridly()
에서 channel_name
handleJson
는 콜백 함수 channel_name
값을받지 않는다는 것이다. 콜백에있는 데이터를 trigger_gridly()
함수에 공개하려면 어떻게해야합니까?
당신은 동기 방식으로 이것에 대해 생각하고있다. 비동기식 요청을 수행하고 값이 미리 채워져 있지 않으면 값을 반환하는 간단한 getter 함수를 사용할 수 없습니다. 너 정확히 뭘 하려구? 그것은 아마도 당신의 trigger_gridly 함수보다 콜백 지향적 일 필요가있을 것이다. – Corbin
서버가 아닌 다른 도메인에서 클라이언트 쪽에서 json 개체를 가져 오려고합니다. –
그리고 그걸로 무엇을 할 수 있습니까? 콜백 함수를 실제로 처리하는 함수를 전달해야합니다. 그렇지 않으면 변수가 설정된시기와 실행되지 않은시기를 어떻게 알 수 있습니까? (일단 무언가가 설정되었거나 무언가가 깨지는 무한 루프와 같은 해키를 사용하지 않고) – Corbin