DOM и React Senior DOM на практике обновлено
Чтение выбранного файла
Условие
readTextFile(file, ReaderCtor): возвращает промис с текстом файла. Ошибка чтения - отклонение. Обработчики снимаются после завершения.
Что проверяют тесты
читает текст
ошибка чтения
прерывание
обработчики снимаются
Как подойти
Классическое превращение событийного API в промис. Три исхода вместо двух: помимо успеха и ошибки есть прерывание, и без его обработки промис зависнет навсегда. Снятие обработчиков освобождает замыкания - на больших файлах это заметно. В современных браузерах у Blob есть метод text(), возвращающий промис, - назови его как более короткий путь.
Подсказки: 3
- FileReader работает на событиях, а не на промисах - обёртка обязательна.
- Кроме onload и onerror есть onabort: пользователь может прервать чтение.
- Обработчики вешаются до вызова readAsText.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.