Der Rückruf wird ausgelöst, nachdem mehrere Ajax-Anforderungen abgeschlossen wurden
<code>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) } </code>
(Viel modifiziert, da es Teil einer Klasse ist usw. usw.)
Im Moment fühlt sich das etwas kitschig an, da die Timer-Nutzung unsinnig erscheint. Ich würde $ .when und $ .done verwenden, aber ich weiß nicht, wie viele Räume es geben könnte, also weiß ich nicht, was ich wann einfügen soll.
Wie stelle ich sicher, dass run_the_rest_of_the_app () erst aufgerufen wird, wenn alle AJAX-Anfragen zurückkommen?