SignalR立即订阅所有集线器/方法

时间:2016-03-03 14:46:58

标签: javascript signalr

我想在客户端为SignalR做一个简单的包装器。它基本上应该有方法send(hubName, methodName, args)并触发某种callback(hubName, methodName, args)而无需明确订阅特定的集线器。

有没有一种简单的方法可以做到这一点,或者我应该深入研究jquery.signalR?提前谢谢。

1 个答案:

答案 0 :(得分:0)

所以它似乎是这样的:

function send(hub, method, args) {
    $.signalR.hub.send({
        H: method,
        M: method,
        A: args,
        I: requestId++ // some global var which increments with every request
    });
}

$.signalR.hub.received(function(resp) {
    if (resp.I) {
        const requestId = resp.I;
        const response = resp.R;
        console.log('Response received', requestId, response);
    } else {
        const hub = resp.H;
        const method = resp.M;
        const args = resp.A;
        console.log('Server sent event received', hub, method, args);
    }
});

I是一种请求计数器。它包含在相应请求的回复中。