在带有 TypeScript 的 Angular 1 中,我能够创建服务,我知道我会得到哪种返回类型,比如数字数组或人对象:
public addAges(ages: number[]) : ng.IPromise<number[]> {
return this.$http.post('Proxy/AddAges',ages)
.then((response: ng.IHttpPromiseCallbackArg<number[]>) : number[]
=> { return response.data; });
}
在 Angular 2 中,我创建了以下服务,到目前为止它运行良好,但我不知道我可以在哪里设置一个完全类型化的返回类型,就像在 Angular 1 中使用 IPromise 和在我的情况下是一个人员数组一样。
import {Injectable} from 'angular2/core';
import {Http, Response} from 'angular2/http';
import {Person} from './../customDataClasses/Person'
import 'rxjs/add/operator/map';
@Injectable()
export class CourseService {
constructor(private _http: Http) { }
getPersons(name:string) {
return this._http.get(`Home/GetPersons?name=${name}`)
.map((res : Response) => res.json());
}
}