2014-09-29 13 views
6

Używanie zasobów Tastypie i AngularJS $ Chciałbym wykonać zestaw operacji aktualizacji, tworzenia i usuwania.Aktualizacja wsadowa, tworzenie i usuwanie metody REST

Obecnie I nadawane zdarzenie:

$rootScope.$broadcast('save'); 

To zdarzenie jest przechwytywane przez każdego kontrolera odpowiedzialnego za tworzenie, aktualizowanie i usuwanie za pomocą usługi $resource:

ResourceService.update({id:$scope.id}, $scope.element).$promise.then(function(element) { 
    $scope.$emit('saved'); 
}); 

Teraz to powodować pewne rasy warunki zarówno po stronie klienta, jak i po stronie serwera.

Jaki byłby najprostszy sposób wykonania tego zestawu operacji jako partia w trybie REST?

+1

Co masz na myśli, mówiąc, że jest to wyścig? Jeśli masz więcej niż jedno miejsce, które faktycznie wykonuje XHR po zdarzeniu "zapisz", oczywiście nie możesz kontrolować, który z nich dotrze najpierw do twojego serwera. Jeśli masz określoną kolejność, którą chcesz załatwić, musisz uruchomić xhr, poczekać na jego powrót, a następnie uruchomić drugi - lub utworzyć określony punkt końcowy na serwerze, na który wysyłasz wszystkie dane i serwer zajmuje się zamówieniem – Barnash

+0

Dzięki, @Barnash. Wysyłanie każdego xhr jeden po drugim byłoby zbyt wolne. Mój problem polega na tym, że '$ resource' nie obsługuje wysyłania wszystkich danych w jednym xhr. Czy muszę zaimplementować "partia" xhr za pomocą '$ http' lub czy istnieje api takie jak Restangular, który zrobi to za mnie? – Michael

Odpowiedz

0

ja niedawno bawił się Angular HTTP Batcher

Jednak jeśli chcesz bardziej ogólne JS tylko asynchroniczny pomocnika można użyć Async

Myślę, że te są w większości, czego szukasz, blogu od kątowego HTTP Batcher to dobra lektura.

Powiązane problemy