Uma pergunta de acompanhamento e talvez uma pergunta boba: estou tentando carregar vários scripts agora, já que o Mediaelement permite scripts de plugin. Quero ter certeza de que todos os scripts sejam carregados antes de retornar a promessa.
Tentei fazer isso percorrendo as constantes das fontes de script e, em seguida, criando uma matriz de promessas, depois usando Promise.all() para inicializar os players e, ainda assim, quando o faço, recebo um erro dizendo que mejs não é encontrado, o que acredito ser o namespace ou algo para chamar diferentes funções dentro do 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);
});
});
No entanto, se eu encadeá-los manualmente, parece funcionar, assim:
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);
});
});
});
});
});
Neste caso, estou usando apenas alguns scripts, então digitei todos manualmente, estava apenas curioso se estou perdendo algo óbvio sobre a função Promise.all(), ou se há uma função do Discourse que me permite carregar vários scripts de um array.
