Я недавно узнал о requestAnimationFrame и о том, как его можно использовать для планирования кода анимации в синхронизации с внутренним циклом рисования браузера. Но я все еще немного не понимаю, как браузер обрабатывает этот тип планирования. Прерывает ли он мои скрипты, если необходимо, для анимации?Может ли моя функция javascript прерываться рамкой анимации
Рассмотрим следующий фрагмент яваскрипта кода:
function doStuff() {
var animated = false;
var animation = function() {
// perform animation
animated = true;
}
requestAnimationFrame(animation);
// perform more operations here
// Q: is animated guaranteed to be false here??
}
Я знаю, что Javascript, по существу, однопоточный поэтому мое шестое чувство, что ни при каких обстоятельствах animation()
были названы уже тогда, когда мы достигаем последней строки doStuff()
. Но, надеюсь, кто-то здесь может дать более обоснованный ответ.
Спасибо, что подтверждает мое понимание того, как это работает. – themik81