【发布时间】:2014-11-28 21:04:30
【问题描述】:
我有一个需要异步初始化的 serviceProvider。我希望我的控制器仅在初始化完成后才能访问此服务。
angular.module("myModule").provider("AsyncInit", {
myThing: {},
init: function(options) {
doSomeAsyncStuff(options).success(function(newThing) {
myThing = newThing;
});
},
$get: function() {
return {
theThing: myThing
}
}
});
//Initialisation of myModule
angular.module(myModule)
.config(function(AsyncInitProvider) {
AsyncInitProvider.init(options);
})
如果我在控制器中访问AsyncInit.theThing,它一开始并没有初始化,但稍后会初始化。这在我看来是合乎逻辑的。
是否可以等到服务完全初始化?
【问题讨论】:
-
这与 ngRoute 上的 resolve 选项有关吗? odetocode.com/blogs/scott/archive/2014/05/20/…
-
我没有路由,但我会看看它是如何在那里实现的。
标签: javascript angularjs