我想在工厂IsLoggedIn中调用一个函数,我想让它使用它的结果。
factory.IsLoggedIn = function () {
var token = $cookies.get('token');
LoginFactory.get({token: token },
funtion(data){
return true;
},funtion(data){
return false;
}))
}
在我的控制器中
if(factory.IsLoggedIn())
{
//Do something
}
这显然不能作为factory.IsLoggedIn()在http返回promises之前返回一个值。有没有办法达到我想要的目的?
答案 0 :(得分:2)
不确定
factory.IsLoggedIn = function () {
var token = $cookies.get('token');
return LoginFactory.get({token: token },
funtion(data){
return true;
},funtion(data){
return false;
}))
}
然后在工厂:
factory.IsLoggedIn().then(function(isLogged){
if (isLogged) {
// Do Something
}
});
解释如下。您需要返回 承诺,以便您可以在控制器上或任何您想要的地方使用承诺。