javascript - Svar kan inte tilldelas typen Promise<any> Egenskapen finally saknas?
Jag tog bort async-funktionen, det var som `public async ResponseHandler` men ger fel att Promise-egenskapen finally saknas, någon idé varför det skulle hända bara genom att ändra async-funktionen till en vanlig funktion?
handler.ts
export class AccountBalanceHandler {
public ResponseHandler(@Body()data: IAccountResponse ): Promise<any> {
return data;
}
}
main.ts
export class GetAccountBalanceController extends Controller {
private accountBalanceHandler: AccountBalanceHandler;
constructor() {
this.accountBalanceHandler = new AccountBalanceHandler();
}
private combineResults(data:any) : Promise<any> {
this.accountBalanceHandler.ResponseHandler(data.Details[1]);
}
}
AccountResponse.interface.ts
export interface IAccountResponse {
header: any;
details: IDetails;
}
export interface IDetails {
lineOfBusiness: string;
primary: IAccountBalanceDetails;
secondary: IAccountBalanceDetails;
}
export interface IAccountBalanceDetails {
balanceAccount: string;
beginningBalance: string;
endingBalance: string;
}
Svar #1
låter som ett typfel i din combineResults-metod.
försök att returnera ett Promise eller ändra din returtyp. t.ex.
private combineResults(data:any) : Promise<any> {
return this.accountBalanceHandler.ResponseHandler(data.Details[1]);
}
Returtypen för public ResponseHandler anges också som ett löfte, men du returnerar bara indata från data. Jag är inte säker på vad @Body() gör.
