2015-11-23 2 views
3

Как вы знаете, AngularJS $http сервис позволяет назвать его/из конкретной функции, напр:Можно ли создать объект Javascript с функцией «по умолчанию»? AngularJS

  1. $http(req).then(function(){...}, function(){...});

  2. $http.get('/someUrl', config).then(successCallback, errorCallback);

Я хотел бы получите дополнительную информацию о том, как я могу реализовать ее на моем заводе и вообще в JS.

+0

Если у вас вопрос о том, как получить информацию об угловом поиске в архитектуре - проверьте $ resource - https://docs.angularjs.org/api/ngResource/service/$resource – shershen

+0

Мне кажется, что больше вы спрашиваете о том, как реализовать обратные вызовы. Это то, о чем вы спрашиваете? – Dvir

+0

@dvir спасибо, у меня есть ответ Shreyas –

ответ

2

Функции - объекты в JavaScript. Это означает, что вы можете назначить другие функции и функции для функции.

function foo(){ 
    //do something 
} 

foo.bar = function(){ 
    //do something else 
} 
+0

Можете ли вы показать пример того, как это используется? – z0r

+0

Большое спасибо! иметь смысл. Пример для z0r: 'var a = function() { alert ('main'); } a.foo = function() { alert ('bar'); } a(); a.foo(); ' –

0

Как уже упоминалось выше, вы можете реализовать то, что хотите, используя «ресурс» Углового. Вот пример того, как он может быть использован:

app.service('testResource', ['$resource', function ($resource) { 
    var apiBaseUrl = 'http://test-backend/api'; 
    var testResource = $resource(
     apiBaseUrl + '/test/' 
     {}, 
     { 
      'query': { 
       method: 'GET', 
       isArray: true 
      } 
     } 
    ); 
    this.getAll = function() { 
     return testResource 
      .query() 
      .$promise 
      .then(function (data) { 
       var tests = []; 
       angular.forEach(data[0], function (value) { 
        tests.push(value); 
       }); 
       return tests; 
      }); 
    }; 
}]); 

Затем вводят его в контроллер (или где) и называют его:

testResource.getAll().then(
         function (data) { 
          $scope.tests = data; 
         } 
        ); 

Вы также можете реализовать другие методы, такие как POST, PUT, УДАЛИТЬ.

Смежные вопросы