2017-04-06 53 views
0

链能力,我有以下打字稿功能打字稿:如何使用异步任务的结果承诺

addSurgeryRequestPageOne(surgeryReservationModel: any): Promise<surgeryReservationModel> { 
    return this.http 
     .post(this.addSurgeryRequestUrl, JSON.stringify( surgeryReservationModel), { headers: this.headers }) 
     .toPromise() 
     .then(response => response.json().Data as surgeryReservationModel) 
     //.then((res) => { 
     // item1 = res.SurgeryRequestId 
     //} 
     .catch(this.handleError); 
} 

一旦此功能得到执行,我得到surgeryRequestId回来,我想它传递的低于功能。

getSurgeryRequest(SurgeryRequestId: number): Promise<surgeryReservationModel> { 
    return this.http.get(this.getSurgeryRequestUrl + '/' + SurgeryRequestId) 
     .toPromise() 
     .then(response => response.json().Data as surgeryReservationModel) 
     .catch(this.handleError); 
} 

我该如何解决这个问题?我对打字稿及其难以找到的资源很陌生。我在ES5上。不使用ES6。

+0

你居然** **是对ES6 – smnbbrv

+0

@smnbbrv吨我的下compilerOptions属性target tsconfig说ES5。 –

回答

0

这是我最好的你正在尝试做的猜测:

addSurgeryRequestPageOne(surgeryReservationModel: any): Promise<surgeryReservationModel> { 
    return this.http 
     .post(this.addSurgeryRequestUrl, JSON.stringify( surgeryReservationModel), { headers: this.headers }) 
     .toPromise() 
     .then(response => response.json().Data) 
     .then(data => this.getSurgeryRequest(data.SurgeryRequestId)) 
     .catch(this.handleError); 
}