Ich versuche, einen Fortschrittsbalken zu erstellen, der das Fortschreiten des Ladens der Javascript-Abhängigkeiten anzeigt.
Dazu muss ich wissen, wie viele dojo.require-Aufrufe erfolgten und wie viele abgeschlossen wurden.
Das Zählen, wie viele dojo.require-Aufrufe erfolgt sind, ist einfach und kann wie folgt durchgeführt werden:
dojo.declare("admin.Bootstrapper", null, {
requiredDependencies: 0,
loadedDependencies: 0,
modules: [],
_require: null,
constructor: function()
{
this._require = dojo.require;
dojo.require = dojo.hitch(this, this._loadDependency);
},
_loadDependency: function(module)
{
this._require(module);
this.requiredDependencies++;
console.log("requiredDependencies:" + this.requiredDependencies);
this.modules.push(module);
}
});
var bootstrapper = new admin.Bootstrapper();
Jetzt weiß ich, dass dojo.addOnLoad prüfen kann, ob alle dojo.require-Aufrufe abgeschlossen sind, aber es gibt keine Möglichkeit zu prüfen, ob ein require-Aufruf abgeschlossen ist.
Wie kann man das machen?