Код Senior Разминка: короткие функции обновлено
debouncePromise
Условие
debounce, возвращающий промис: все вызовы за окно получают результат единственного фактического вызова.
Что проверяют тесты
один вызов на окно
ошибка доходит до всех
Как подойти
Обычный debounce молча теряет результат - вызывающий не может дождаться. Список ожидающих превращает его в пригодный для async/await. Обнуление списка до вызова fn обязательно: иначе вызовы следующего окна попадут в текущую раздачу.
Подсказки: 1
- Копи resolve и reject всех вызовов и раздавай один результат.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.