gpt4 book ai didi

javascript - 动态javascript加载并订阅基于数据的事件?

转载 作者:行者123 更新时间:2023-11-27 22:32:17 25 4
gpt4 key购买 nike

我有一个 JavaScript 客户端,使用 用于消息传递。我正在订阅这样的 channel :

    pubnub.subscribe({
channel : chnl,
message : function(m){
var msg = $.parseJSON(m);
processMessage(msg);
}
);

我有一堆小部件/组件,目前仅包含动态加载的 HTML。现在,processMessage() 基本上只是说“如果消息 ID 是 widget1,那么做一堆事情”。我想修改组件文件以包含处理所有小部件数据的 javascript,以及如何注册一个 Hook 来检测 PubNub 消息何时传入与小部件匹配的 ID。

我该怎么做?

参见 this question请访问programmers.stackexchange.com 了解更多信息。

最佳答案

您可以保留一个简单的回调映射,并在消息传入时进行查找。

类似于:

var callbackMap = {};

function registerCallback(id, callback) {
callbackMap[id] = callback;
}

function processMessage(msg) {
callbackMap[msg.id](msg.data);
}

在每个组件中,您将注册:

registerCallback('widget1', function(data) {
//do something for widget1 with data
});

关于消息:

pubnub.subscribe({
channel: chnl,
message: function(m){
var msg = $.parseJSON(m);
processMessage(msg);
}
);

关于javascript - 动态javascript加载并订阅基于数据的事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com