所以这里是我的一般问题,我有一个工厂,需要做一个Ajax调用来获得它的价值。我想注入这个工厂,但只有在ajax调用被解析之后,意味着当它被注入时,我希望这个值已经存在。这可能吗?让我给你一些背景,以便你可以给我一个更好的选择。角度解决承诺依赖
我有一个UserFactory。
var app = angular.module('app',[]);
app.factory('UserFactory',[
function(){
//ajax call to get the user object
//dont allow injection until user has arrived
}
]);
var home = angular.module('home',[]);
home.controller('UserInfoController',[
'UserFactory',//I don't want this resolved until the ajax call has completed
function(User){
//bind user data to the view
}
]);
这可能吗?或者我正在讨论这个错误?我希望能够访问用户的信息,而不必每次都使用promise,以防万一它不在那里。
我不知道为什么你担心使用的承诺。如果只是检查用户是否在那里,如果没有做什么,如果没有,那么使用工厂承诺来设置它。 – Scott 2014-09-26 17:42:16