Как я могу использовать библиотеку таймера в Javascript? - PullRequest
0 голосов
/ 13 июля 2020

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

  1. запустить 5-секундный таймер (routineTimer.reset(5))
  2. подождать 3 секунды
  3. показать круг (это то, что пользователь должен ответить)
  4. подождите еще 2 секунды, прежде чем скрыть круг и перейти к другому коду

html

<svg width="200" height="200">
        <circle id="circle1" cx="100" cy="70" r="60" stroke="#1c87c9" stroke-width="4" fill="lightgray"/>
    </svg>

javascript

var routineTimer = new CountdownTimer();
$("#button3").click(function() {
        $("#circle1").hide();
        routineTimer.reset(5);
        while (routineTimer.getTime() > 2) {
            continue;
        }
        $("#circle1").show();
        while (routineTimer.getTime() > 0) {
            continue;
        }
        $("#circle1").hide();
    });

Проблема с этим кодом в том, что l oop кажется блокирующим, т.е. строка $("#circle1").show(); не запускается до конца всего блока. Однако из-за линии $("#circle1").hide(); круг никогда не появляется.

Я бы не хотел использовать setTimeout, который работает без каких-либо проблем, но может быть неточным для приложения времени реакции.

Любая помощь будет оценена. Спасибо!

...