我希望能够拥有与jQuery的自定义事件和PubSubJS(http://github.com/mroderick/PubSubJS)中类似的pubsub机制。
问题在于这些pubsub库中的每个库都对该主题进行了完全匹配。 IO希望能够发布如下主题:
"Order/Sent/1234"
并听取订阅:
"Order/Sent/1234"
"Order/Sent/*"
"Order/*/1234"
有人知道JS这样的东西吗?
最佳答案
只需修改您喜欢的那个即可。将其 fork 到github上,打开pubsub.js
并执行以下操作:
var deliverMessage = function(){
var subscribers = [];
for(var n in messages){
if( new RegExp('^' + n + '$').test( message ) ){
subscribers = subscribers.concat( messages[n] );
}
...
}
}
您可能需要进行一些修改,例如在转换为正则表达式之前,将所有
*
替换为.*
或[^\/]*
,等等。关于javascript - JS的基于主题的发布/订阅,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7180647/