DOM и React Senior DOM на практике обновлено

Загрузка картинки с обработкой ошибки

Условие

loadImage(src, ImageCtor): возвращает промис с элементом при успехе и отклоняется ошибкой при сбое. Конструктор передаётся аргументом. Обработчики снимаются после завершения.

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

  • успешная загрузка

  • ошибка загрузки

  • обработчики снимаются

  • src присваивается после обработчиков

Как подойти

Порядок не косметика: картинка из кеша браузера способна вызвать onload немедленно при установке src, и обработчик, навешенный после, не сработает - баг, который воспроизводится только у вернувшихся пользователей. Снятие обработчиков после завершения избавляет от удержания замыканий. Тот же приём применяется для предзагрузки перед показом.

Подсказки: 2
  1. Обработчики вешаются до присваивания src.
  2. Закэшированная картинка может выстрелить onload синхронно при присваивании.

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

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