pofigizm
@pofigizm

Документация на $resourceProvider, в частности стандартные .get и .save

Здесь написано только что они есть, но почти ничего про callback function.

Поясню что не понятно:
Есть сервис:
angular.module('myApp')
  .factory('Thing', ['$resource',
    function ($resource) {
      return $resource('/api/things/:id', { id: 'all' }, {} );
    }
  );

И есть контроллер:
angular.module('myApp')
  .controller('ThingCtrl', ['$scope', '$location', '$routeParams', 'Thing',
    function ($scope, $location, $routeParams, Thing) {
      
      Thing.get({id: $routeParams.thingId}, function(thing) {
        // Это коллбэк который вызовется после получения данных с сервера. Понял из примеров в доках.
        $scope.thing = thing;
      });

      $scope.save = function() {
        Thing.save({id: $scope.thing._id}, $scope.thing, function() {
          // Этот коллбек нашел тестовым перебором, а хочу увидеть в доках, чтоб понимать нюансы.
          // У меня он срабатывает только при ответе 200 (а может и не только) - не понятно.
        });
      };
    }
  ]);


И еще заоодно, если не стандартный экшен, а свой (я опять про коллбэк):
angular.module('myApp')
  .factory('Thing', ['$resource',
    function ($resource) {
      return $resource('/api/things/:id', { id: 'all' }, {
        myaction: {
          method: 'GET',
          params: {
            id:'me'
          }       
      } );
    }
  );
  • Вопрос задан
  • 2555 просмотров
Решения вопроса 1
pofigizm
@pofigizm Автор вопроса
На stackoverflow.com ткнули носом на то место в доках где это указанно:

Методы принимают следующие параметры:

HTTP GET "class" actions: Resource.action([parameters], [success], [error])
non-GET "class" actions: Resource.action([parameters], postData, [success], [error])
non-GET instance actions: instance.$action([parameters], [success], [error])

Success вызывается с (value, responseHeaders) аргументами.
Error вызывается с (httpResponse) аргументом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы