2017-04-06 83 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); 
}