我想在客户端为SignalR做一个简单的包装器。它基本上应该有方法send(hubName, methodName, args)
并触发某种callback(hubName, methodName, args)
而无需明确订阅特定的集线器。
有没有一种简单的方法可以做到这一点,或者我应该深入研究jquery.signalR
?提前谢谢。
答案 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
是一种请求计数器。它包含在相应请求的回复中。