解析服务依赖项中的承诺
Resolving promises in service dependency
我使用 AngularJS for Rails 应用程序开发客户端,我坚持使用authenticity_token。
以下是我的服务的样子:
blog_app.factory('AuthenticityToken', ['$http', '$q',
($http, $q) ->
() ->
delay = $q.defer()
$http.get('/authenticity_token').success(
(data) ->
delay.resolve(data.authenticity_token)
).error(
->
delay.reject('Can''t get authenticity_token')
)
return delay.promise
])
post_services.factory('Post', ['$resource',
($resource) ->
$resource('/posts/:id', {id: '@id'},
{
query: {
method: 'GET',
params: {limit: 10, order: 'desk'},
isArray: false
}
}
)
])
如何使 AuthenticityToken 在 Post 中注入和解析,以便我可以在 Post 的默认参数中使用真实性令牌?
相反,我只能为控制器解决它:
angular.module('posts', ['posts.services']).config(
['$routeProvider', ($routeProvider) ->
$routeProvider
.when('/posts', {
templateUrl: '/pages/posts/',
controller: 'ListCtrl',
resolve: {
authenticity_token: ['AuthenticityToken', (AuthenticityToken) ->
AuthenticityToken()
]
}
})
]
)
然后显式传递给发布资源
angular.module('posts', ['posts.services']).config(
['$routeProvider', '$httpProvider', ($routeProvider, $httpProvider) ->
$httpProvider.defaults.headers.post['Content-Type'] = 'application/json'
$httpProvider.defaults.headers.put['Content-Type'] = 'application/json'
token = $("meta[name='csrf-token']").attr("content")
$httpProvider.defaults.headers.post['X-CSRF-Token'] = token
$httpProvider.defaults.headers.put['X-CSRF-Token'] = token
$httpProvider.defaults.headers.common['X-CSRF-Token'] = token
$routeProvider
.when('/posts', {
templateUrl: '/pages/posts/',
controller: 'ListCtrl'
})
]
)
相关文章:
- 我的职位回报太快了,如何做出承诺
- 打破承诺链的好方法是什么
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 从函数返回角度承诺
- 为什么Airbnb风格指南说不鼓励依赖函数名称推断
- 我怎样才能获得承诺的价值
- 延期承诺值未更新/解析/延期
- 在承诺链中处理早期回报的最佳方式
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 如何将本地依赖项添加到npm项目中
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 如何展平嵌套承诺依赖项
- 管理承诺依赖项
- 使用承诺作为数据依赖项的正确方法
- 解析服务依赖项中的承诺
- Q - 在 DAG 中执行一系列承诺并定义它们之间的依赖关系
- 在前端承诺中链接依赖于彼此的服务器调用是不好的做法吗?
- 服务有一个模拟的服务依赖,它返回承诺,在测试中挣扎
- 使用Angular's $q.都是相互依赖的承诺
- 生成一个依赖于递归承诺的承诺