方法类型
开发插件时,可以使用三种不同类型的方法签名。所有方法都是异步且基于 Promise 的。
让我们来看一个包含所有三种类型的插件定义示例:
export type CallbackID = string;
export interface MyData {
data: string;
}
export type MyPluginCallback = (message: MyData | null, err?: any) => void;
export interface MyPlugin {
method1(): never;
method2(): Promise<MyData>;
method3(callback: MyPluginCallback): Promise<CallbackID>;
}