DOM и React Senior DOM на практике обновлено
Загрузка картинки с обработкой ошибки
Условие
loadImage(src, ImageCtor): возвращает промис с элементом при успехе и отклоняется ошибкой при сбое. Конструктор передаётся аргументом. Обработчики снимаются после завершения.
Что проверяют тесты
успешная загрузка
ошибка загрузки
обработчики снимаются
src присваивается после обработчиков
Как подойти
Порядок не косметика: картинка из кеша браузера способна вызвать onload немедленно при установке src, и обработчик, навешенный после, не сработает - баг, который воспроизводится только у вернувшихся пользователей. Снятие обработчиков после завершения избавляет от удержания замыканий. Тот же приём применяется для предзагрузки перед показом.
Подсказки: 2
- Обработчики вешаются до присваивания src.
- Закэшированная картинка может выстрелить onload синхронно при присваивании.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.