Wpis z mikrobloga

Hej, piszę proste zadanie w JS z którym to mój tak naprawdę pierwszy kontakt.

Idea jest prosta: jako parametry biorę liczbę i interwał w ms, co interwał dekrementuję liczbę aż dojdzie do zera. Na początku ruszyłem to w ten sposób, że ustawiam setInterval z funkcją która po prostu dekrementuje licznik co interwał, wyświetla licznik i przerywa w odpowiednim momencie.

Problem pojawia się w momencie kiedy na wejściu mogę dostać wiele par liczba-interwał, i dla każdej z nich chciałbym wykonać daną operację, po kolei dla każdej pary.

Jak sprawić żeby odpalenie tego timera dla następnej pary poczekało na koniec poprzedniego timera?

Ewentualna opcja to puścić wiele timerów na raz dla każdej z par, tylko nie wiem jak wtedy robić wyświetlanie po stronie html.

Jeśli coś napisałem nieczytelnie to postaram się wyjaśnić lepiej.
#javascript

  • 4
Nie wiem czy o to ci chodzi, ale można pokombinować coś w ten deseń.

var funkcja = function(fn, callback) {
setInterval(function(){
fn.call()

if(callback && jakis_licznik == 0){
callback.call()
}

})
}

funkcja(fn, function(){
funkcja(fn2)
})
@foke: Proszę

Spróbowałem podejść z tej strony: znam czas wykonania takiej dekrementacji dla danej pary liczba-interwał, więc mogę opóźnić wywołanie funcji dla konkretnej pary o ten z góry określony timeout - ale nie działa, od razu zaczyna procesowanie ostatniej pary.