Skip to content

onSubscribe ​

onSubscribe() 负责根据入站的 SubscribeMessage 建立事件转发监听。

ts
NApp.nacp.onSubscribe(
  message,
): void
参数说明
message入站的 SubscribeMessage

行为 ​

订阅名检查 ​

message.payload.targetSubName 必须是非空字符串。检查失败时会报告 bad-target-sub-name,并向订阅方发送失败的 Response。

构建转发监听 ​

onSubscribe() 在当前 NApp 的 EventBus 上监听 targetSubName,并将每次命中的事件转换为 NotifyMessage 发给订阅方。

随后以 SubscribeMessage 的 id 作为 subId,保存订阅方、监听 ID 和订阅名。后续 Unsubscribe 使用该 subId 移除监听。

AutoSubscribe ​

Event Request 构建 AutoSubscribe 时也会复用 onSubscribe(),但不会产生独立的 SubscribeMessage 或 Subscribe Response。

结束时 ​

显式订阅建立成功后,onSubscribe() 会发送成功的 Response,并在 payload.targetSubId 中返回 subId。

发送方向见 subscribe(),移除监听见 onUnsubscribe()。

Released under the MIT License.