【发布时间】:2015-01-14 15:05:54
【问题描述】:
我有一个 Angular 服务,它应该完成让我的控制器与我的 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 并没有真正意义,因为没有需要解析的数据?
【问题讨论】:
-
如果 id 没有返回任何东西,可以试试
IHttpPromise<void>。
标签: javascript ajax angularjs typescript angular-http