Function createBroadcastChannel

  • 创建 BroadcastChannel 实例

    Parameters

    • channelName: string

      通道名称

    Returns {
        close: (() => void);
        getChannel: (() => BroadcastChannel);
        listen: ((callback: ((event: {
            message: unknown;
            type: string;
        }) => void)) => (() => void));
        send: ((type: string, message: unknown) => void);
    }

    • close: (() => void)
        • (): void
        • Returns void

    • getChannel: (() => BroadcastChannel)
        • (): BroadcastChannel
        • Returns BroadcastChannel

    • listen: ((callback: ((event: {
          message: unknown;
          type: string;
      }) => void)) => (() => void))
        • (callback): (() => void)
        • Parameters

          • callback: ((event: {
                message: unknown;
                type: string;
            }) => void)
              • (event): void
              • Parameters

                • event: {
                      message: unknown;
                      type: string;
                  }
                  • message: unknown
                  • type: string

                Returns void

          Returns (() => void)

            • (): void
            • Returns void

    • send: ((type: string, message: unknown) => void)
        • (type, message): void
        • Parameters

          • type: string
          • message: unknown

          Returns void

    const channel = createBroadcastChannel('my-channel');
    const removeListener = channel.listen((event) => {
    console.log({ type: event.type, data: event.message });
    });
    channel.send('message', { message: 'Hello' });
    channel.getChannel(); // BroadcastChannel 实例
    removeListener(); // 移除监听器
    channel.close(); // 关闭通道