我希望能够拥有类似于 jQuery 的自定义事件和 PubSubJS (http://github.com/mroderick/PubSubJS) 中的 pubsub 机制。
问题是这些 pubsub 库中的每一个都在主题上完全匹配。 IO 希望能够发布如下主题:
"Order/Sent/1234"
并收听订阅:
"Order/Sent/1234"
"Order/Sent/*"
"Order/*/1234"
有谁知道 JS 有类似的东西吗?
最佳答案
修改自己喜欢的就行了。在 github 上 fork 它,打开 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/