Zapętlanie html2canvas

Mam problem z implementacją skryptu html2canvas w pętli for.

Piszę funkcję JavaScript, która używa tablicy danych do modyfikowania stylu grupy elementów, przechwytuje div kontenera jako płótno, konwertuje go na obraz, dołącza do treści dokumentu, a następnie przechodzi do następnego indeks tablicy.

Część, w której mam problemy, znajduje się na samym końcu mojej pętli:

html2canvas(document.getElementById("background"), {
    onrendered: function(canvas) {
        var imgdata = canvas.toDataURL("image/png");
        var obj = document.createElement("img");
        obj.src=imgdata;
        document.body.appendChild(obj);
    }
});

Przechodząc przez skrypt krok po kroku odkryłem, że nie czeka na renderowanie kanwy przed przejściem do następnej iteracji pętli for, co powoduje, że element, który próbuję uchwycić, zmienia się obraz jest renderowany dokładnie tak samo (jak końcowy indeks w tablicy).

Czy istnieje sposób na opóźnienie skryptu na chwilę, podczas gdy płótno renderuje? Próbowałem użyćsetTimeout() i nie mogę znaleźć innych sposobów opóźnienia skryptu, nie wiem, jakonrendered część kodu działa.

Jeśli moje wyjaśnienie jest niejasne, wkrótce przygotuję odpowiednie przykłady.

questionAnswers(2)

yourAnswerToTheQuestion