Код Senior Разминка: короткие функции обновлено

sleepAbortable

Условие

Пауза, которую можно прервать сигналом AbortSignal - тогда промис отклоняется ошибкой с name 'AbortError'.

Что проверяют тесты

  • обычная пауза

  • прерывается

  • уже прерванный сигнал

Как подойти

Три обязательные детали: проверка signal.aborted до старта (сигнал может быть уже прерван), снятие таймера при прерывании, once: true чтобы не копить слушатели. Любая ожидающая операция в проекте должна поддерживать отмену этим же способом.

Подсказки: 1
  1. Проверь, не прерван ли сигнал ещё до установки таймера.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.