pubsub-js.doc

PubSub-JS 文档

网上查了蛮长一段时间(或许是我没有注意到吧!)也没看到有相关的中文资料或文档,为了方便索性自己写一个吧,留着备用!文档部分为官方文档”机翻”(个人英文不怎么样,所以大部分机翻),中间会插杂一些个人的理解及案例!

功能

API 列表

  • throwException(ex)
    • 返回抛出传递的异常的函数,用作setTimeout的参数
  • publish(message, data) –> 布尔型
    • 发布消息,将数据传递给它的订阅者
  • publishSync(message,data) –> 布尔型
    • 同步发布消息,将数据传递给它的订阅者
  • subscribe(message, func) –> 字符串 | 布尔型
    • 将传递的函数预订到传递的消息。 每个返回的标记都是唯一的,如果您需要取消订阅,应该存储。 如果由于某种原因未注册订阅,则返回false
  • subscribeOnce(message, func) –> PubSub
    • 将传递的函数预订到传递的消息一次
  • clearAllSubscriptions()
    • 清除所有订阅
  • clearAllSubscriptions()
    • 按话题清除订阅
  • subscribeOnce(value)
    • 删除订阅
      • 传递标记时,删除特定订阅。
      • 传递函数时,删除该函数的所有订阅
      • 传递话题时,删除该话题的所有订阅(层次结构)

语法

throwException(ex)
返回抛出传递的异常的函数,用作setTimeout的参数
类别: 全局函数

参数 类型 描述
ex Object 一个错误对象

publishSync(message, data)
同步发布消息,将数据传递给它的订阅者
类别: 全局函数

参数 类型 描述
message String 要发布的消息
data 要传递给订阅者的数据

subscribe(message, func)
将传递的函数预订到传递的消息。 每个返回的标记都是唯一的,如果您需要取消订阅,应该存储。 如果由于某种原因未注册订阅,则返回false
类别: 全局函数

参数 类型 描述
message String 订阅的消息
func function 发布新消息时调用的函数

func参数有两个参数

  1. msg: 为该订阅的名称
  2. data: 发布消息处传递过来的数据

subscribeOnce(message, func)
将传递的函数预订到传递的消息一次
类别: 全局函数

参数 类型 描述
message String 订阅的消息
func Function 发布新消息时调用的函数

clearAllSubscriptions()
清除所有订阅
类别: 全局函数
访问:公开

clearAllSubscriptions()
按话题清除订阅
类别: 全局函数
访问:公开

subscribeOnce(value)
删除订阅

  • 传递标记时,删除特定订阅。
  • 传递函数时,删除该函数的所有订阅
  • 传递话题时,删除该话题的所有订阅(层次结构)
    类别: 全局函数
    访问:公开
参数 类型 描述
value String/Function 要取消订阅的标记,功能或话题

范例

1
2
3
4
5
6
7
8
9
//取消订阅标记
var token = PubSub.subscribe('mytopic', myFunc)
PubSub.unsubscribe(token)

//取消订阅函数
PubSub.unsubscribe(myFunc)

//取消订阅话题
PubSub.unsubscribe('mytopic')


示例

PubSub 可用于Vue中的组件之间的互相通信,极为方便,不过在使用之前需要下载
使用NPM的下载方式
npm install pubsub-js --save
然后导入即可

1
2
3
4
5
6
7
8
9
10
import PubSub from 'pubsub-js'
// 发布消息
PubSub.publish('test', data)
//第一个参数为事件名,第二个参数为可选的是否传递数据
// 订阅消息
PubSub.subscribe('test', (msg, data) => {
console.log(msg, data)
})
// 第一个参数为事件名,第二个参数为触发事件后执行的回调函数,回调函数中第一个参数为事件名,必须,第二个为发布消息是传递过来的数据
// 一般使用的就这两个方法,其它的不怎么使用(个人来说)

订阅消息与发布消息的意思(人话版)
绑定事件监听 —-订阅消息
触发事件 —-发布消息



声明

本篇文档翻译于官方文档,加上自己的个人理解而成,
转载请注明原链接