JavaScript · Senior · Запитання 27 з 75
Як не блокувати інтерфейс під час обробки 100 000 елементів в основному потоці?
- ✓Правильна відповідь: Розбити роботу на порції й поступатися потоком (або винести у воркер)
- 2Обгорнути цикл в
async-функцію - вона виконається у фоновому потоці - 3Використати
Promise.all- проміси виконуються в паралельних потоках
Пояснення
Задачі, довші за 50 мс, погіршують чутливість (INP). async не створює нового потоку: синхронний цикл усередині однаково блокує. Роботу ріжуть на частини й поступаються через setTimeout, scheduler.yield() (де підтримується) або requestIdleCallback; важкі обчислення виносять у Web Worker.