Eine Nachfrage und vielleicht eine dumme Frage: Ich versuche gerade, mehrere Skripte zu laden, da Mediaelement Plugin-Skripte zulässt. Ich möchte sicherstellen, dass alle Skripte geladen werden, bevor das Promise zurückgegeben wird.
Ich habe versucht, dies zu tun, indem ich durch die Konstanten der Skriptquellen iteriere und dann ein Array von Promises erstelle, dann Promise.all() für die Initialisierung der Player verwende, und trotzdem bekomme ich einen Fehler, dass mejs nicht gefunden wird, was meiner Meinung nach der Namespace oder etwas Ähnliches ist, um verschiedene Funktionen innerhalb von mediaelement-and-player aufzurufen.
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);
});
});
Wenn ich sie jedoch manuell verknüpfe, scheint es zu funktionieren, wie folgt:
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);
});
});
});
});
});
In diesem Fall verwende ich nur eine Handvoll Skripte, daher habe ich sie alle manuell eingegeben. Ich war nur neugierig, ob ich etwas Offensichtliches an der Promise.all()-Funktion übersehe oder ob es eine Discourse-Funktion gibt, mit der ich mehrere Skripte aus einem Array laden kann.
