监听者模式

Example

new Subscribe<{
"foo": [arg1: number, arg2: string],
"bar": [arg: boolean],
}>()

Hierarchy (view full)

  • Subscribe<{
        network(source, type, state, detail): void;
    }>
    • NetworkSubscribe

Constructors

Methods

  • 触发事件

    Type Parameters

    • K extends "network"

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • Rest ...data: Parameters<{
          network(source, type, state, detail): void;
      }[K]>

      触发事件的数据

    Returns boolean

    canceled 是否被触发取消

  • 判断是否注册了事件

    Parameters

    • name: "network"

      事件类型

    Returns boolean

  • 解除事件

    如果 name 不传的话解除对应所有事件 如果 name, callback 不传的话解除所有name的所有事件

    Type Parameters

    • K extends "network"

      预设的监听事件名称

    Parameters

    • Optional name: K

      事件类型

    • Optional callback: ((...args) => ReturnType<{
          network(source, type, state, detail): void;
      }[K]>)

      事件回调函数

        • (...args): ReturnType<{
              network(source, type, state, detail): void;
          }[K]>
        • Parameters

          • Rest ...args: Parameters<{
                network(source, type, state, detail): void;
            }[K]>

          Returns ReturnType<{
              network(source, type, state, detail): void;
          }[K]>

    Returns void

  • 注册事件

    Type Parameters

    • K extends "network"

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args) => ReturnType<{
          network(source, type, state, detail): void;
      }[K]>)

      事件回调函数

        • (...args): ReturnType<{
              network(source, type, state, detail): void;
          }[K]>
        • Parameters

          • Rest ...args: Parameters<{
                network(source, type, state, detail): void;
            }[K]>

          Returns ReturnType<{
              network(source, type, state, detail): void;
          }[K]>

    • Optional once: boolean

      是否只执行一次

    Returns (() => void)

    解除事件

      • (): void
      • Returns void

  • 注册事件(是否只执行一次)

    Type Parameters

    • K extends "network"

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    • callback: ((...args) => ReturnType<{
          network(source, type, state, detail): void;
      }[K]>)

      事件回调函数

        • (...args): ReturnType<{
              network(source, type, state, detail): void;
          }[K]>
        • Parameters

          • Rest ...args: Parameters<{
                network(source, type, state, detail): void;
            }[K]>

          Returns ReturnType<{
              network(source, type, state, detail): void;
          }[K]>

    Returns (() => void)

    解除事件

      • (): void
      • Returns void

  • 等待事件

    Type Parameters

    • K extends "network"

      预设的监听事件名称

    Parameters

    • name: K

      事件类型

    Returns Promise<Parameters<{
        network(source, type, state, detail): void;
    }[K]>>

    触发事件的数据