我需要从异步服务中检索一个值,以便作为参数添加到每个休息调用中。 casService.getProxyTicket()是$ http调用...
我有以下代码: -
myFactories.factory('myFactory', [
'Restangular'
, 'casService'
, function (Restangular
, casService) {
return Restangular.withConfig(function (config) {
config.setBaseUrl('https://host:port/somecontext/rest');
config.addFullRequestInterceptor(function (element
, operation
, route
, url
, headers
, params
, httpConfig) {
......我需要在这做什么?
casService.getProxyTicket(url).then(function(st){
console.log('proxyTicket = ' + st.data.ticket);
});
params.ticket = ?????? <= st.data.ticket
...
return {
element: element
, headers: headers
, params: params
, httpConfig: httpConfig
}
});
}).service('myCollection');
}]
);
...提前致谢!!!!
答案 0 :(得分:0)
好的,我对后端开发人员的背景缺乏了解......
这可以/不应该这样做!我试图打电话让代理票同步......不要这样做!
我所做的是重新安排我的代码......
function readItem(id) {
var endpoint = myFactory.one(id);
return casService.getProxyTicket(endpoint.getRestangularUrl())
.then(function (response) {
return endpoint.get({ticket: response.data.proxyTicket});
}).then(function (response) {
return response.plain();
});
}
......就像一个魅力!