Как сохранить значение таймера на стороне сервера, используя Django? - PullRequest
0 голосов
/ 12 июля 2020

Я создал таймер, используя javascript, чтобы убедиться, что таймер не сбрасывается каждый раз, когда пользователь обновляет sh страницу, я передаю, сколько времени прошло с момента доступа к странице на сервере как следующее:

time_passed = (now - answer.created_at).total_seconds()
time_passed = int(time_passed)
seconds_left = 30 - time_passed
answer.seconds_left =  seconds_left
completion_time = 30 -seconds_left
answer.completion_time = time_passed
answer.save()   
context = {'time_passed':time_passed}
json_string = json.dumps(context)
response = HttpResponse(json_string, content_type="application/json")
return response

Затем я использую значение time_passed в моем JS таймере, и он работает нормально, за исключением того, что по таймауту завершения_time должно быть 30 секунд, а seconds_left должно быть 0 секунд. но по какой-то причине этого не происходит, когда я продолжаю получать Complete_time = 29 и seconds_left = 1

 function onTimesUp() {
                            clearInterval(timerInterval);
                            }
function startTimer() {
            timerInterval = setInterval(() => {
                        $.ajax({
                                    type: "GET",
                                    url: server_url+ timerPath,
                                    success: function (context) {
                                        timePassed = context.time_passed;
                                            }
                                    }); 
                    timePassed = timePassed += 1;
                    timeLeft = TIME_LIMIT - timePassed;
                    document.getElementById("base-timer-label").innerHTML = formatTime(timeLeft)
                    
                    if (timeLeft === 0) {
                        onTimesUp();
                                }

                            }, 1000);

                            }
                

чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...