2014-09-29 14 views
6

Sử dụng Tastypie và AngularJS $ tài nguyên Tôi muốn thực hiện một bộ các hoạt động cập nhật, tạo và xóa.Cập nhật hàng loạt, tạo và xóa cách REST

Hiện nay, tôi phát sóng một sự kiện:

$rootScope.$broadcast('save'); 

Sự kiện đó được chụp bởi mỗi bộ điều khiển trách nhiệm tạo, cập nhật và xóa bằng cách sử dụng $resource dịch vụ:

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

Bây giờ, nguyên nhân này một số chủng tộc điều kiện ở cả phía máy khách và phía máy chủ.

Cách đơn giản nhất để thực hiện bộ hoạt động này như là một đợt theo cách REST?

+1

Bạn có ý nghĩa gì về điều kiện chủng tộc? Nếu bạn có nhiều hơn một nơi thực sự thực hiện một XHR khi sự kiện 'lưu', tất nhiên bạn không thể kiểm soát cái nào trong số họ đến trước máy chủ của bạn. Nếu bạn có một thứ tự nhất định bạn muốn mọi thứ được thực hiện với, bạn cần chạy một xhr, đợi nó quay lại, và sau đó chạy thứ hai - hoặc tạo một điểm cuối cụ thể trong máy chủ, nơi bạn gửi tất cả dữ liệu và máy chủ sẽ xử lý đơn hàng – Barnash

+0

Xin cảm ơn, @Barnash. Gửi từng xhr từng người một sẽ quá chậm. Vấn đề của tôi là '$ resource' không hỗ trợ gửi tất cả dữ liệu trong một xhr đơn lẻ. Tôi có phải thực hiện 'lô' xhr bằng cách sử dụng '$ http' hoặc là có một api như Restangular mà sẽ làm điều đó cho tôi? – Michael

Trả lời

0

thời gian gần đây tôi đã chơi xung quanh với Angular HTTP Batcher

tuy nhiên

nếu bạn muốn có một JS chung chung hơn chỉ async helper bạn có thể sử dụng Async

Tôi nghĩ rằng những người chủ yếu là những gì bạn đang tìm kiếm, các bài viết trên blog từ góc HTTP Batcher là một đọc tốt.

Các vấn đề liên quan