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

questionAnswers(4)

yourAnswerToTheQuestion