Я использую Pusher для отправки обновлений webhook моему таймеру. Проблема в том, что если таймер построен с истекшим значением «diff», я получаю сообщение об ошибке «Попытка запустить таймер, когда отсчет уже равен 0». Кроме того, я не могу правильно установить обратный вызов остановки для сброса таймера при новом обновлении, если оно истекло. Есть ли способ справиться с этим во FlipClock. js В vue:
...
mounted() {
let remaining = moment.duration(moment(this.dbTime + '+0:00') - this.now);
this.clock = $('.clock').FlipClock(remaining/1000, {
clockFace: 'HourlyCounter',
countdown: true,
callbacks: {
stop: function() {
}
}
});
},
...
и в vue, когда происходит обновление Pusher:
...
created() {
let interval = this.refreshEverySecond();
var pusher = new Pusher('XXXXXXXXXX', {
cluster: 'us2',
forceTLS: true
});
// Subscribe to the channel we specified in our Laravel Event
var channel = pusher.subscribe('timer-channel');
var ref = this;
// Bind a function to a Event (the full Laravel class)
channel.bind('timer-updated.' + this.timer_id, function(data) {
ref.dbTime = data.end_time;
ref.db_is_locked = data.is_locked
ref.update_clock();
});
},
....
update_clock Метод:
update_clock() {
let remaining = moment.duration(moment(this.dbTime + '+0:00') - this.now);
this.clock.reset();
this.clock.setTime(remaining/1000);
return this.clock.start();
},