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.