Браузер і продуктивність · Middle · Запитання 11 з 75
Обробник кліку після оновлення UI виконує важку нетермінову роботу. Як зробити, щоб оновлення з'явилося швидше?
button.addEventListener("click", async () => {
showSpinner();
// ...heavy work here
});- ✓Правильна відповідь: Поступитися головним потоком після оновлення UI (наприклад,
await scheduler.yield()), а потім робити важку роботу - 2Перенести
showSpinner()у кінець обробника - 3Обгорнути важку роботу в
try/finally
Пояснення
Поступка дає браузеру відмалювати спінер, перш ніж продовжити. Без неї кадр чекає на весь обробник.