我有一個函數「add_floor(XXX)」(參見下文),需要一些時間才能完成,所以我想知道如何等待這個功能之前返回轉到下一步,這是我的情況「添加dawfeature點」。我知道我可以使用回調方法,但是我需要重新啓動遍歷回調函數中的json元素的完整循環。不是很性感,那麼有沒有辦法避免這種情況?的Javascript等功能在循環返回
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...
}
}
}
的唯一方式,它不會只是跟着從前面的代碼是如果你正在創建匿名函數或做Ajax調用或任何超時功能? – rorypicko
這裏有沒有任何AJAX調用?否則,這應該是同步的。它意味着它會等到它返回之前完成。如果您使用的是AJAX調用,那麼*唯一方法就是使用回調函數。 –
'add_floor()'做了什麼? Assync呼叫? – DontVoteMeDown