Poczekaj, aż ustawiono setInterval ()

Chciałbym dodać do mojego kodu Javascript mały efekt toczenia kostką. Myślę, że dobrym sposobem jest użyciesetInterval() metoda. Moim pomysłem był następujący kod (tylko do testowania):

function roleDice() {
        var i = Math.floor((Math.random() * 25) + 5);   
        var j = i;
        var test = setInterval(function(){
            i--;
            document.getElementById("dice").src = "./images/dice/dice" + Math.floor((Math.random() * 6) + 1) + ".png";
            if(i < 1) {
                    clearInterval(test);
                }

            }, 50);     
    }

Teraz chciałbym poczekać na setInterval, aż się skończy. Dodałem więc setTimeout.

setTimeout(function(){alert("test")}, (j + 1) * 50);

Ten kod działa całkiem dobrze. Ale w moim głównym kodzieroleDice()&nbsp;funkcja zwraca wartość. Teraz nie wiem, jak sobie z tym poradzić ... Nie mogę wrócić zsetTimeout(). Jeśli dodam powrót do końca funkcji, powrót wzrośnie do szybkiego. Czy ktoś ma pomysł, jak mogę to naprawić?

Edytować&nbsp;Hmm, dobrze rozumiem, jaka jest dawka wywołania zwrotnego i myślę, że wiem, jak to działa, ale wciąż mam problem. Myślę, że to bardziej problem z interfejsem ... Oto mój kod:

function startAnimation(playername, callback) {
    var i = Math.floor((Math.random() * 25) + 5);
    var int = setInterval(function() {
        i--;
        var number = Math.floor((Math.random() * 6) + 1);
        document.getElementById("dice").src = "./images/dice/dice" + number + ".png";
        if(i < 1) {
            clearInterval(int);
            number = Math.floor((Math.random() * 6) + 1);
            addText(playername + " rolled " + number);
            document.getElementById("dice").src = "./images/dice/dice" + number + ".png";
            callback(number);
        }
    }, 50);
}

function rnd(playername) {
    var callback = function(value){
        return value; // I knew thats pointless...
    };
    startAnimation(playername, callback);
}

Funkcjarnd()&nbsp;powinien poczekać i zwrócić wartość… Jestem trochę zmieszany. W tej chwili nie mam pojęcia, jak się zachować ... Kod czeka navar callback...&nbsp;ale jak mogłem połączyć to z powrotem? Chciałbym uruchomić animację i wrócić po tym ostatnim numerze zrnd()&nbsp;do innej funkcji.