收到资源响应时如何从函数返回? Angular.js

时间:2013-06-25 10:35:45

标签: javascript angularjs

我有一个调用角度资源的函数来检索项目。我希望函数返回响应中收到的值。无论如何,

function getTemplate (templateId) {
    var Tx;
            Template.getTemplate({id:templateId})
                .$promise.then(
                  //success
                  function( response ){
                        Tx = response.response;
                        console.log (Tx);
                  },
                  //error
                  function( error ){
                    Tx = false;
                  }
               );
        return Tx
        }

调用Template.getTemplate(123);时,我收到未定义的内容,但我应该收到回复或错误;

1 个答案:

答案 0 :(得分:0)

请按照以下方式重构您的代码,但这可能不是确切的代码,但可以帮助您

function getTemplate (templateId,$q) {
    var deferred = $q.defer()
            Template.getTemplate({id:templateId})
                .$promise.then(
                  //success
                  function( response ){
                       deferred.resolve(response);
                  },
                  //error
                  function( error ){
                    deferred.fail("error");
                  }
               );
         return deferred.promise;
        }