是否可以创建多个SignalR集线器代理实例或多次实现相同的函数回调?

如果我写这样的话:

var obj1 = function()
{
    var someHub = $.connection.someHub;
    var self = this;

    someHub.client.someFunction = function(item){

        //do something
    };
}

var obj2 = function()
{
    var someHub = $.connection.someHub;
    var self = this;

    someHub.client.someFunction = function(item){

        //do something else
    };
}
someFunction的哪个实现将被调用?
是否可以实现两次相同的功能并执行两个实现?

最佳答案

var someHub = $.connection.someHub;

someHub.on('someFunction', function (item) { /* ... */ });
someHub.on('someFunction', function (item) { /* ... */ });

在上面的代码中,两个回调将按照它们在服务器上对Clients.*.someFunction的每次调用的附加顺序被调用。

http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-javascript-client#genproxy

09-07 22:56