繁体   English   中英

如何检索restangular参数的异步值?

[英]How do I retrieve an async value for a restangular parameter?

我需要从异步服务中检索一个值,以作为参数添加到每个休息调用。 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');
    }]
);

...提前致谢!!!!

好吧,我缺乏理解来自后端开发人员的背景......

这可以/不应该这样做! 我试图打电话让代理票同步....不要这样做!

我所做的是重新安排我的代码,因此......

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();
        });
}

...奇迹般有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM