Javascript Library для обработки нескольких отложенных асинхронных вызовов - PullRequest
0 голосов
/ 15 февраля 2019

Привет. Я пытаюсь написать функцию, которая может воспроизводить несколько аудиофайлов в разное время запуска.Я использую Soundmanager, но, к сожалению, они не поддерживают смещение.Таким образом, я строю свой собственный setTimeout для достижения того, что мне нужно.

Но вскоре я понимаю, что мне нужна более надёжная библиотека для поддержки функций базы задач.Что мне нужно, так это библиотека, которая может обрабатывать несколько задач в разных потоках, а я могу контролировать их задержку.(например: я могу пропустить вперед / назад в плеере).

Есть ли какая-нибудь библиотека, которая может сделать это?

Можете привести мой простой пример.Я пытаюсь перекрывать несколько аудиофайлов.

function timer(callback, delay) {
var id, started, remaining = delay, running

this.start = function() {
    running = true
    started = new Date(); 
    if (remaining > 0)
    id = setTimeout(callback, remaining)
}

this.pause = function() {
    running = false
    clearTimeout(id)
    remaining -= new Date() - started
}

this.stop = function() {
    running = false;
    clearTimeout(id);
    remaining = 0;
}


this.getTimeLeft = function() {       
    if (running) {
       this.pause()
       this.start()
    }

    return remaining
}

this.getStateRunning = function() {
    return running
}

this.setTimeLeft = function(timeLeft){
    remaining = timeLeft;
}

this.start()
}

Код

...