2016-05-10 7 views
4

私はすべての残りの呼び出しにパラメータとして追加する非同期サービスから値を取得する必要があります。 casService.getProxyTicket()$のHTTP呼び出しがある...矩形パラメータの非同期値を取得するにはどうすればよいですか?

I持って次のコード: -

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

[OK]を、バックエンドの開発者の背景から来る理解の私の欠如は...

これは/この方法を行うべきではありませんすることができます!私はプロキシチケットを同期させるための呼び出しをしようとしていました....しないでください!私が何をしたか

は...ので、私のコードを再配置する

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

だった...魔法のように動作します!

関連する問題