मैं अपने कोणीय ऐप में एक छोटी सी सेवा लिखने की कोशिश कर रहा हूं जो मुझे वैश्विक जावास्क्रिप्ट ऑब्जेक्ट्स में निर्दिष्ट कॉन्फ़िगरेशन पैरामीटर चुनने में सक्षम करेगा। मैं वैश्विक कॉन्फ़िगरेशन ऑब्जेक्ट तक पहुंचने का प्रयास नहीं करना चाहता जब तक कि दस्तावेज़ तैयार न हो (क्योंकि मैं ऑर्डर की गारंटी नहीं दे सकता जिसमें स्क्रिप्ट तत्व HTML में डाले जाएंगे)।
हालांकि, मुझे समझ में नहीं आ रहा है कि then
कॉलबैक के लिए वास्तव में प्रचार करने के लिए मुझे $apply
पर कॉल क्यों चाहिए।
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;
}]);