Создал обертку для загрузки файлов, которая в зависимости от конфигурации может загружать файлы из очереди, при ошибке повторять попытку определенное количество раз и делать другие полезные вещи.
Мне нужно обрабатывать процесс загрузки каждого файла, что бы например создать полосу прогресса, обновлять прогресс при каждом событии загрузки и по окончании показать что файл загружен или ошибку.
Сейчас я делаю так: при загрузке нового файла создаю объект предоставленного пользователем класса и при определенных событиях вызываю методы с определенными именами. Например fileHandler.loadStart(url)
, fileHandler.progress(xhrProgressEvent)
. Так я могу реализовать всё что мне нужно. Например при создании объекта создать нужные элементы и при вызове методов взаимодействовать с нужными элементами через замыкания.
Но мне такой подход кажется не стандартным, не привычным. Хотя бы потому, что мне нужно поставлять вместе с библиотекой обертки, ещё и интерфейс класса менеджера событий. И для пользователей такое взаимодействие может показаться запутанным.
Есть ли какие-то аналоги? Возможно какой-то встроенный менеджер событий или что-то вроде этого. Как бы вы реализовали такое поведение?
Обращаю внимание на то, что передавать какой-нибудь EventTarget
и вызывать события через него не получится, потому что в этом случае пользователь не может один раз создать не глобальную переменную и обращаться к ней при вызове событий, а значит прийдется каждый раз вычислять элемент в котором нужно обновить информацию, а это не производительно и может быть даже невозможно (например, если элемент вычисляется по url, который может быть не уникальным, из-за загрузки нескольких файлов по одной и той же ссылке, что технически возможно)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть функция, выполнение ее занимает примерно 5 секундЭта функция получает ссылку на страницу, далее выполняются встроенные методы phantom
Есть 2 функции конструкторов, прототип 1-ой функции-конструктора наследуется через Objectcreate, но в качестве прототипа ошибочно указан не объект(прототип),...
Как я могу записать аналог class MyClass extends EventTarget{}, без использования синтаксиса "class"? В спецификации сказано что это только синтаксический сахар,...
Пожалуйста, подскажите, как можно при: добавлении, удаление классов (при toggleClass например) сохранять результат после перезагрузки страницыЯ...