我有一个角度服务,它应该执行让控制器与我的API通信所需的所有http内容。
export interface IDummyEntityApiService {
getAllDummies() : ng.IPromise<Array<Entities.IDummy>>;
}
class DummyEntityApiService implements IDummyEntityApiService {
private http: ng.IHttpService;
constructor($http : ng.IHttpService) {
this.http = $http;
}
getAllDummies() {
var url = "acme.com/api/dummies;
return this.http.get(url).then(result => {
return result.data;
}, error => {
// log error
});
}
}
我可以这样使用:
dummyEntityApiService.getAllDummies.then(result => {
// fill results into list
}, error => {
fancyToast.create("Ooops, something went wrong: " + error);
});
我现在的问题是 - 如何使用POST
和DELETE
?我知道$httpService
有.post(url, data)
和.delete(url)
等方法,并且它们都返回IHttpPromise<{}>
,但是将它们转换为IPromise
并不是真的有意义,因为没有需要解决的数据?
答案 0 :(得分:1)
实际上,您可以在HTTP请求完成后使用promise执行某些操作。例如,您可以使用ng.IHttpPromise<any>
。