loadInfo: function(){
var jsonCounter = 0,
room = ['room1','room2','room3'],
dates = [],
prices = []
$.each(booking.rooms, function(key, room_name) {
$.getJSON('/get_info.php?room='+room_name, function(data) {
dates[room_name] = data
jsonCounter++
})
$.getJSON('/get_info.php?room='+room_name+'&prices', function(data) {
prices[room_name] = data
jsonCounter++
})
})
function checkIfReady() {
if (jsonCounter === rooms.length * 2) {
clearInterval(timer)
run_the_rest_of_the_app()
}
}
var timer = setInterval(checkIfReady, 100)
}
(viel modifiziert, wie es Teil einer Klasse ist etc etc.)Firing Rückruf nach mehreren AJAX-Anfragen vollständig
Im Moment fühlt sich das ein bisschen hackish, wie die Timer Nutzung Müll scheint. Ich würde $ .when und $ .done benutzen, aber ich weiß nicht, wie viele Zimmer es gibt, also weiß ich nicht, wo ich es hinkriegen sollte.
Wie stelle ich sicher, dass run_the_rest_of_the_app() erst aufgerufen wird, wenn alle AJAX-Anfragen zurückkommen?
+1 sehr elegant –