Ich versuche, einen kleinen Dienst in meiner eckigen App zu schreiben, der es mir ermöglicht, Konfigurationsparameter auszuwählen, die in globalen Javascript-Objekten spezifiziert sind. Ich möchte nicht versuchen, auf das globale Konfigurationsobjekt zuzugreifen, wenn das Dokument nicht bereit ist (weil ich nicht garantieren kann, in welcher Reihenfolge die Skriptelemente in den HTML-Code eingefügt werden).
Allerdings kann ich nicht verstehen, warum ich den Anruf an $apply
für die Auflösung, um tatsächlich auf die then
Callback propagieren muss.
myModule.service('GlobalConfigService', ['$q', '$rootScope', function($q, $rootScope) {
var def = $q.defer();
$(document).ready(function() {
def.resolve(MyConfig.val);
$rootScope.$apply();
});
def.promise.then(function() {
console.log('I am called only when $apply() is called. Why?');
});
return def.promise;
}]);