当服务器调用客户端时如何在javascript中引发事件?

时间:2015-12-19 23:11:09

标签: javascript signalr

Hub有以下方法:

public bool SendMessage(MessageModel model)
{
    this.Clients.Group(model.RoomName).sendClientMessage(model);
    return true;
}

并在客户端:

function hubService(connection) {       
    var myHub = connection.chat;
    myHub.client.sendClientMessage = function (messageModel) {       
        return messageModel;
    };
}

我想要的是允许其他以hubService为依赖的javascript对象订阅sendClientMessage函数,这样当服务器调用sendClientMessage时,所有订阅者都将被发送messageModel。这很容易在c#中定义,但不确定如何在javascript中执行此操作。

1 个答案:

答案 0 :(得分:1)

您可以使用window.dispatchEvent,但我建议您使用自定义事件发射器。就像npm上的this one一样。