Скрипты с коллбэком
важность: 5
Создайте функцию addScripts(scripts, callback)
, которая загружает скрипты из массива scripts
, и после загрузки и выполнения их всех вызывает функцию callback
.
Скрипт может быть любым, работа функции не должна зависеть от его содержимого.
Пример использования:
addScripts(["a.js", "b.js", "c.js"], function() { a() });
/* функция a() описана в a.js и использует b.js,c.js */
- Ошибки загрузки обрабатывать не нужно.
- Один скрипт не ждёт другого. Они все загружаются, а по окончании вызывается обработчик
callback
.
Исходный код содержит скрипты a.js
, b.js
, c.js
:
Подсказки
Создайте переменную-счетчик для подсчёта количества загруженных скриптов.
Чтобы один скрипт не учитывался два раза (например, onreadystatechange
запустился при loaded
и complete
), учитывайте его состояние в объекте loaded
. Свойство loaded[i] = true
означает что i
-й скрипт уже учтён.