Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Что такое requestAnimationFrame?

requestAnimationFrame — это метод в JavaScript, который сообщает браузеру, что нужно выполнить анимацию, и просит браузер вызвать указанную функцию для обновления анимации перед перерисовкой. Он синхронизируется с частотой обновления экрана, что делает анимацию плавной и оптимизированной. Вместо использования setTimeout или setInterval для анимации, requestAnimationFrame обеспечивает лучшее управление производительностью и энергопотреблением.

Подробнее

Отличие анимации при использовании requestAnimationFrame и SetInterval

setInterval выполняет функцию с фиксированной задержкой, не учитывая частоту обновления экрана, что может приводить к пропуску кадров и лишним вычислениям. requestAnimationFrame синхронизирует выполнение кода анимации с частотой обновления экрана (обычно 60 кадров/с), что делает анимацию плавной и эффективной. Он также автоматически останавливается, когда пользователь переходит на другую вкладку, экономя ресурсы. Для плавных анимаций всегда следует предпочитать requestAnimationFrame.

Подробнее

Отличие свойства animation от transition

transition плавно анимирует изменение свойства от одного состояния к другому при срабатывании события (например, наведения курсора). animation позволяет создавать более сложные многократные анимации по заранее заданному сценарию (keyframes) без внешних триггеров. transition требует события для запуска, а animation может запускаться автоматически. animation дает больше контроля, позволяя задавать задержку, направление, количество повторений и сложную последовательность кадров.

Подробнее

Когда используют requestAnimationFrame?

requestAnimationFrame используют для плавной анимации и визуальных обновлений, синхронизированных с частотой обновления экрана. Он обеспечивает оптимальную производительность, автоматически приостанавливая выполнение когда страница не видна, и вызывая колбэк перед перерисовкой браузера.

Подробнее

Как requestAnimationFrame связан с Event Loop?

requestAnimationFrame — это API браузера, который ставит колбэк в специальную очередь, связанную с циклом рендеринга. Event Loop управляет выполнением задач из разных очередей: макротасков, микротасков и задач, связанных с отрисовкой. Колбэк requestAnimationFrame выполняется непосредственно перед этапом обновления стилей и компоновки (Layout/Paint) в цикле рендеринга, что обеспечивает плавную анимацию, синхронизированную с частотой обновления экрана.
Подробнее

Что произойдет, если убрать requestAnimationFrame из цикла рендеринга?

Можно ли сделать анимацию только на Promise?

  • Рейтинг:

    4

  • Сложность:

    3

Без requestAnimationFrame анимация будет выполняться в произвольные моменты времени, не синхронизированные с частотой обновления экрана браузера. Это может привести к "дрожанию" (jank), пропуску кадров и повышенному потреблению ресурсов процессора. Анимация может работать слишком быстро или слишком медленно в зависимости от нагрузки системы. requestAnimationFrame гарантирует, что функция обновления вызывается перед каждой перерисовкой экрана, обеспечивая плавность.
Подробнее
  • Рейтинг:

    3

  • Сложность:

    4

Нет, анимацию только на Promise сделать нельзя. Promise управляет порядком выполнения асинхронных операций, но не предоставляет механизма для плавного изменения состояния во времени. Для анимации требуется requestAnimationFrame или setInterval, которые вызывают обновление кадра. Promise можно использовать для организации последовательности анимаций, но не для самого рендеринга.
Подробнее
  • Рейтинг:

    3

  • Сложность:

    8

  • Рейтинг:

    5

  • Сложность:

    4

  • Рейтинг:

    5

  • Сложность:

    3

  • Рейтинг:

    4

  • Сложность:

    6

  • Рейтинг:

    3

  • Сложность:

    5