dojo/topic 笔记

前言

    dojo / topic提供了一个集中的中心,用于按主题发布订阅全局消息。可以通过使用订阅主题topic.subscribe(),并且可以使用发布消息topic.publish()。这种机制特别适合异步操作,类似于ES6中的Promise。

    由于主题未绑定到特定对象,因此它们对于多个实例或各种不同类型的对象之间的通信非常有用。

subscribe()

    subscribe()返回一个句柄,该句柄具有remove()可用于删除侦听器的方法。

publish()

    发布一个主题,然后将参数发送给每个侦听器。

示例代码

require(["dojo/topic", "dojo/dom", "dojo/on", "dojo/domReady!"],
function(topic, dom, on){

  var handle = topic.subscribe("some/topic", function(e){
    dom.byId("output").innerHTML = "I received: " + e.msg;
    handle.remove();
  });

  on(dom.byId("publish"), "click", function(){
    topic.publish("some/topic", { msg: "hello world" });
  });

});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值