返回已解析的$Resource
Return a resolved $Resource
我对AngularJS和JavaScript中的promise有点陌生。我有一个.config,它使用一个提供程序在我正在处理的应用程序中创建菜单
此提供程序有一个已启用的属性,在该已启用属性中,我想检查用户是否是组织的管理员。只有当用户是管理员时,才应显示此菜单项。
部分代码:
PageMenuProvider
.page('organization', 'dashboard', {
state: 'organization.dashboard',
label: 'SW.ORGANIZATION.DASHBOARD.LABEL',
weight: -60,
enabled: ['$stateParams', '$rootScope', 'Organization', function ($stateParams, $rootScope, Organization) {
return Organization.get({ slug: $stateParams.slug }).$promise
.then(function (organization) {
return organization.user_role === 'management' || $rootScope.isAdmin
})
}]
})
问题是,我得到了$promise作为返回值,而不是所需的布尔值。
欢迎来到promise和异步编程的世界!
是的-由于您的第一份退货声明在Organization.get
上,您将收到退货承诺
然而,当这个承诺得到解决时,您将得到您所期望的布尔值。
我有点怀疑你,但如果你试图阻止页面加载,直到承诺完成,你应该看看控制器中的解析功能。
http://odetocode.com/blogs/scott/archive/2014/05/20/using-resolve-in-angularjs-routes.aspx
相关文章:
- Angular$resource则不返回数据
- AngularJs:在内部调用$http或$resource时,让方法同步返回
- 如何使用在 AngularJS 中返回承诺的$resource测试工厂
- 从使用 $resource 的服务返回新对象
- $resource返回具有数字属性的Object
- 我无法使用angular的$resource访问asp.net mvc控制器来返回JsonResult
- 可以'我不知道ng resource为什么赢了't返回数组
- Angular JS UT:具有返回$resource方法的服务的控制器
- 返回已解析的$Resource
- AngularJS在$interval上轮询$resource't自动解析$resource返回的promise
- $resource在IE8中返回空json
- GET请求,$resource返回未定义
- 在自定义解析器中使用$resource返回值
- AngularJS 1.2.19从嵌套$resource服务返回值
- Angular $resource在api初始化后被调用,导致返回空值
- vue-resource返回一个promise对象
- 理解AngularJS $resource()返回什么(类或实例对象)
- Cordova + Angularjs -为什么从回调函数内部调用$resource(或$http)会返回404
- 如何让AngularJS使用$resource来返回multi
- 如何使此筛选器返回$http或$resource中的值