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?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage