Skip to content

消息类型定义

要想消息类型有 typesafe 的效果,我们必须得定义每个消息的类型。

消息类型的定义文件存放在 /src/messageType.ts

typescript
// /src/messageType.ts

export type InjectMessageType = {
  readUserName(): Promise<string>;
  setUserName(name: string): Promise<void>;
};

export type BackgroundMessageType = {};
// /src/messageType.ts

export type InjectMessageType = {
  readUserName(): Promise<string>;
  setUserName(name: string): Promise<void>;
};

export type BackgroundMessageType = {};

TIP

消息类型都是异步的因此返回值都应该是 Promise

InjectMessageType

这个类型描述的是 injectScript 发送 的消息,比如你需要在 injectScript 传递一个读取用户名称的消息到 background 那么你就要在这里面定义 readUserName 的类型

BackgroundMessageType

这个类型描述的是 background 给 injectScript 发送的消息. 比如 background 中需要通知所有的 injectScript 更新用户的登录状态,那么你就可以在这里定义消息类型

注意

BackgroundMessageType 定义的是 background 发送给 injectScript 的消息类型, 不是 InjectMessageType 中某个消息的返回值!

如果你没有 background 给 injectScript 传递消息的情况,这里就可以留空

Powered by Vitepress