我在我的角度应用一个简单的userAPI服务:
app.service('userAPI', function ($http) {
this.create = function (user) {
return $http
.post("/api/user", { data: user })
.then(function (promise) { return promise.data })
.catch(function (error) { return error.data })
}
this.read = function (user) {
return $http
.get("/api/user/" + user.id)
.then(function (promise) { return promise.data })
.catch(function (error) { return error.data })
}
this.update = function (user) {
return $http
.patch("/api/user/" + user.id, { data: user })
.then(function (promise) { return promise.data })
.catch(function (error) { return error.data })
}
this.delete = function (user) {
return $http
.delete("/api/user/" + user.id)
.then(function (promise) { return promise.data })
.catch(function (error) { return error.data })
}
})
正如你所看到的,我每次我的$ HTTP请求后,重复相同的。那么()和.catch()函数。根据DRY原则,我可以避免这种重复吗?
我不明白这些回调是做什么的...... – elclanrs 2015-02-23 05:01:20
为什么不在控制器中捕获错误(或者使用'userAPI'服务的地方)? – aarosil 2015-02-23 05:06:08
此外,更重要的是,为什么你不使用__ [$资源](https://docs.angularjs.org/api/ngResource/service/$resource)__为此? – aarosil 2015-02-23 06:13:29