While-Schleife mit async jQuery AJAX-Aufrufe

Der Sache:
Ich habe eine Seite, die zur Anzeige unbestimmten Anzahl von Bildern, die durch AJAX geladen (mithilfe der base64-Codierung, die auf der server-Seite) eins nach dem anderen.

var position = 'front';
while(GLOB_PROCEED_FETCH)
{
    getImageRequest(position);
}

function getImageRequest(position)
{
    GLOB_IMG_CURR++;
$.ajax({
        url: urlAJAX + 'scan=' + position,
        method: 'GET',
        async: false,
        success: function(data) {
            if ((data.status == 'empty') || (GLOB_IMG_CURR > GLOB_IMG_MAX))
            {
                GLOB_PROCEED_FETCH = false;
                return true;
            }
            else if (data.status == 'success')
            {
                renderImageData(data);
            }
        }
    });
}

Das problem ist, dass die Bilder (konstruiert mit der renderImageData () - Funktion) sind beigefügt (alle zusammen) zu den bestimmten DIV nur, wenn alle Bilder heruntergeladen werden sollen. Ich meine, es gibt keine jede DOM-manipulation möglich, bis die Schleife vorbei ist.

Muss ich laden und anzeigen Bilder eins nach dem anderen aufgrund der möglichen großen Anzahl von Bildern, so kann ich nicht stapeln Sie Sie, bis Sie alle geholt werden.

  • Sie starten eine Anfrage in der while-Schleife und dieser Wunsch beginnt eine weitere Anforderung, wenn data.status == 'success' ist und insbesondere kein Antrag, wenn Sie die Einstellung GLOB_PROCEED_FETCH = false was die Bedingung der while-Schleife. Also, was ist der Grund für die while-Schleife überhaupt?
  • Behoben, dass der ursprüngliche code
Schreibe einen Kommentar