Я пытаюсь создать задержку между частями отображения холста. Я знаю, что могу использовать метод "setTimeout" (среди прочего) для достижения этой цели:
context.fillText("hello",385,300);
setTimeout(function() {
context.fillText("world",415,300);
},1000);
Однако я хочу использовать более «примитивный» подход: пустой цикл for:
context.fillText("hello",385,300);
for (var count = 0; count < 1000000000; count++) {}
context.fillText("world",415,300);
Этот цикл for работает только в JS, при этом «console.log» генерирует выходные данные вместо «fillText». Но приведенный выше код, встроенный в виде сценария в файл HTML, похоже, выполняет задержку цикла for до того, как появятся оба вывода "fillText". Итак, вместо «здравствуй» ... задержка ... «мир», я вижу: ... задержка ... «привет мир».
Согласно моему скудному (и, возможно, ошибочному) пониманию взаимодействия JS-браузера, обычно все операции / изменения скрипта кэшируются до тех пор, пока выполнение не достигнет тега end-script, после , когда обновляется холст / страница , Если это правда, это смутно объясняет проблему.
И если метод / функция / set / time / что-либо «setTimeout» временно прерывает сценарий перед отсчетом задержки, тем самым позволяя холсту / странице обновиться, тогда может быть какой-то другой метод / функция / что угодно что только временно прерывает сценарий, чтобы разрешить обновление холста / страницы, без , создающего задержку. Если так, я мог бы добавить это перед циклом for, чтобы получить то, что я хочу. Есть предложения?
Опять же, я понимаю, что "setTimeout" - это один из нескольких обычных вариантов, но я специально пытаюсь выяснить, могу ли я заставить цикл работать.
Заранее спасибо за любую помощь.
Rob