有關於在服務中處理$ http的related question,但我想稍微詳細說明。我想我的控制器能夠使用類似於角$ HTTP API API執行服務電話:
$scope.login = function(user) {
securityService.login(user).success(function(data) {
$scope.data = data;
}).error(function(data) {
$scope.error = data;
});
};
這是一個不錯的可讀性API。從表面上看,一切我都需要的服務API中做的是:
return {
name : 'User Service',
login : function(user) {
return $http.post("/api/login", user);
}
};
大,它返回的承諾和success
和error
消息都用。但是......如果我想處理服務中的成功和失敗案例呢?我想維護漂亮可讀的服務API。在這種情況下,也許我想保留用戶,以便我可以公開諸如securityService.currentUser()
或`securityService.isLoggedIn()'的方法。
我嘗試了$http.post().then(...)
諾言API,但那些返回整個HTTP響應。同樣,我想將HTTP隔離到服務並維護一個類似的具體回調API。
你能擴展你的例子嗎? – andyczerwonka
當然,對不起,應該包括在第一個例子中。 – wless1
,然後我只是在控制器中使用成功和錯誤,並獲得每種情況下的文本? – andyczerwonka