Obecnie mam połączenia jak to wszystko nad moją trzech regulatorów:Dlaczego przenosić moje połączenia http do usługi?
$scope.getCurrentUser = function() {
$http.post("/Account/CurrentUser", {}, postOptions)
.then(function(data) {
var result = angular.fromJson(data.data);
if (result != null) {
$scope.currentUser = result.id;
}
},
function(data) {
alert("Browser failed to get current user.");
});
};
widzę mnóstwo porad do hermetyzacji połączenia $http
się z HttpService, czy coś takiego, ale to, że jest znacznie lepsza praktyka, aby powrócić obietnicę niż zwrócić dane. Jednak jeśli wrócę obietnicę, wszystkie z wyjątkiem jednej linii w moim kontrolera $http
zmian połączeń, a cała logika czynienia z odpowiedzi pozostaje w moich kontrolerami, np:
$scope.getCurrentUser = function() {
RestService.post("/Account/CurrentUser", {}, postOptions)
.then(function(data) {
var result = angular.fromJson(data.data);
if (result != null) {
$scope.currentUser = result.id;
}
},
function(data) {
alert("Browser failed to get current user.");
});
};
mógłbym stworzyć RestService dla każdej stronie serwera kontroler, ale to spowoduje wywołanie usługi podstawowej i podanie adresu URL mimo to.
możliwy duplikat http://stackoverflow.com/questions/17646034/what-is-the-best-practice-for-making-an-ajax-call-in-angular-js – jbe
Korzyści z usług: łatwe ponowne użycie kodu , łatwy kontroler i testowanie usług, łatwe kpiny z usług. – dfsq