Дополнительный вопрос, возможно, глупый: я пытаюсь загрузить несколько скриптов, так как Mediaelement позволяет использовать скрипты плагинов. Мне нужно убедиться, что все скрипты загрузятся перед возвратом промиса.
Я пробовал сделать это, перебирая константы с источниками скриптов, создавая массив промисов и используя Promise.all() для инициализации плееров, но при этом получаю ошибку, что mejs не найден. Я полагаю, что это пространство имён или что-то подобное для вызова различных функций внутри mediaelement-and-player.
let scripts_loaded = [];
MEDIA_ELEMENT_SCRIPTS.forEach(function (src, index){
scripts_loaded[index] = loadScript(src);
});
Promise.all(scripts_loaded).then(() => {
audioplayers.forEach(function (el) {
new MediaElementPlayer(el, MEDIA_ELEMENT_CONFIG);
});
});
Однако, если я вручную цепляю их друг за друга, всё работает, например:
loadScript(MEDIA_ELEMENT_SRC).then(() => {
loadScript(MEDIA_ELEMENT_SPEED_SRC).then(() => {
loadScript(MEDIA_ELEMENT_SKIP_BACK_SRC).then(() => {
loadScript(MEDIA_ELEMENT_JUMP_FORWARD_SRC).then(() => {
audioplayers.forEach(function (el) {
new MediaElementPlayer(el, MEDIA_ELEMENT_CONFIG);
});
});
});
});
});
В данном случае я использую всего несколько скриптов, поэтому просто прописал их вручную. Мне просто интересно, упускаю ли я что-то очевидное в функции Promise.all(), или существует ли функция Discourse, позволяющая загружать несколько скриптов из массива.
