나는 "add_floor (xxx)"라는 함수를 루프에 넣는다. (벨로우 참조), 완성되기까지 약간의 시간이 걸리기 때문에,이 함수가 돌아 오기 전에 기다리는 법을 알고 싶다. 내 경우에는 다음 단계로 이동 "dawfeature 포인트를 추가". 나는 콜백 메소드를 사용할 수 있다고 생각하지만, 콜백 함수를 호출 할 때 json 요소를 거치는 완전한 루프를 다시 시작해야한다. 정말 섹시하지 않기 때문에 이것을 피할 수있는 방법이 있습니까?자바 스크립트가 반환 할 함수를 기다림.
function add_maps_from_json(json) {
for (var i = 0; i < json.maps.length; i++) {
// add the maps to the combox box and display last one
add_floor(json.maps[i].mapName);
// add the dawfeature points to the map
for (var j = 0; i < json.maps[i].APs.length; j++) {
var idx = find_map_index();
console.log(idx);
var map = mapObjectArray[idx];
etc...
etc...
}
}
}
유일한 방법은 그냥 따르지 않는 것 이전 코드에서 익명 함수를 작성하거나 아약스 호출 또는 시간 초과 함수를 수행하는 경우입니까? – rorypicko
여기에 AJAX 호출이 있습니까? 그렇지 않으면 이것은 동기되어야합니다. 그것이 * 돌아 오기 전에 끝날 때까지 기다리는 것을 의미합니다. AJAX 호출을 사용하는 경우 * 유일한 방법은 콜백입니다. –
'add_floor()'는 무엇을합니까? 통화를 동기화 하시겠습니까? – DontVoteMeDown