Pro*_*ofK 7 javascript angularjs
目前我在三个控制器上都有这样的电话:
$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.");
});
};
Run Code Online (Sandbox Code Playgroud)
我看到很多建议将$http调用封装到HttpService或其他类似的东西中,但返回promise比返回数据要好得多.然而,如果我返回承诺,我的控制器中除了一行之外的所有$http调用都会发生变化,并且处理响应的所有逻辑都保留在我的控制器中,例如:
$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.");
});
};
Run Code Online (Sandbox Code Playgroud)
我可以为每个服务器端控制器创建一个RestService,但这最终只能调用核心服务并传递URL.
有几个原因可以解释为什么它是重要应用程序中的良好实践。
使用单个通用服务并传入 url 和参数并不会增加您注意到的那么多价值。相反,您需要为每种类型的提取提供一种方法。
使用服务的一些好处:
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |