在typescript中,如何使用回调实现接口?

时间:2017-07-05 17:53:21

标签: javascript typescript

我在带有回调的typescript中创建了一个接口,我该如何实现呢?

interface LoginCallback{
    Error: boolean,
    UserInfo: {
        Id: string,
        OrganizationId: string
    }
}

interface IntegrationInterface {
    Init(): void;
    LogIn(UserName: string, Password: string, LoginCallback:LoginCallback): void;
}

1 个答案:

答案 0 :(得分:1)

你声明LoginCallback的方式意味着它只是一个对象而不是一个函数。我认为这就是你想要的:

interface LoginCallback {
    (Error: boolean, UserInfo: { Id: string, OrganizationId: string }): void;
}

interface IntegrationInterface {
    Init(): void;
    LogIn(UserName: string, Password: string, LoginCallback: LoginCallback): void;
}

然后,您可以执行以下界面:

class IntegrationImpl implements IntegrationInterface {
    Init() {
       //... 
    }
    LogIn(UserName: string, Password: string, LoginCallback: LoginCallback) {
     //...   
    }

}