Почему в этом примере dom.innertext был обновлен и отрисован после того, как while было завершено? - PullRequest
0 голосов
/ 21 июня 2020

Я новичок в javascript и работаю над заданием.
Проблема, с которой я столкнулся, может быть продемонстрирована с помощью приведенных ниже кодов: Для HTML:

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8">

  <title>A3Q5</title>
  <script src='xxx.js'> // external js

    </script>
</head>

<body>
<div class="container">
    <button id="startBtn">Start</button>
    <div id="displayStart">x</div>
</div>

</body>
</html>

Для xxx. js код:

function setup(){
    document.getElementById("startBtn").addEventListener('click',startRace,false);
}

function startRace(){
    var test =  document.getElementById("displayStart");
    test.textContent = "adsasdasds";
    console.log(test.textContent);
    var c = 5;
    while(c--){
        var counter = 500000000;
        while(counter--){} // try to simulate some delays 

    }
}

window.addEventListener('load',setup,false);

поэтому проблема в том, что когда я запускаю программу и нажимаю кнопку, консоль печатает «adsasdasds», однако элемент div не обновляется в браузере до первого, пока l oop выполнено ....
Разве js не запускается последовательно, как java / C ++, если asyn c не указан?
Надеюсь, кто-то может мне помочь
Желаемый результат будет: div обновляется перед вводом while l oop как последовательность выполнения кода ...
Спасибо!

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