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

How to return from function when resource response is received? Angular.js

本文关键字:函数 返回 js Angular 资源 响应      更新时间:2023-09-26

我有一个函数调用一个角度资源来检索项目。我希望函数返回在响应中接收到的值。不管怎样,

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);时,我收到未定义的消息,但我应该得到响应或false;

请按如下方式重构您的代码,它可能不是准确的代码,但会帮助您

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