Hub.start - 等待结束(Hub.start - wait for finish)

2019-10-21 03:39发布

我使用SignalR从客户端转移命令,服务器,而无需刷新页面。 当客户进入我的一些网页,我开始了新的轮毂连接。 像这样:

var hub = $.connection.siteControllerHub;
$.connection.hub.start();

这个“开始()”函数需要一些时间(+ -5秒)。 意味着同时,页面已经完成加载,并且用户开始使用我的UI。 SingalR不能为用户服务,直到它完成加载的连接。

我知道我可以使用异步的方式与()完成注册:

$.connection.siteControllerHub.start().done(function () {
    // On finish loading...
});

但这种操作是不适合我,因为如果我使用这个 - 我需要直到事件发生禁用UI。 而这种不冷静的。

我很喜欢,页面将加载需要更长的时间,但是当它这样做,一切都会准备就绪。

你怎么看? 你如何推荐实现它? 谢谢。

Answer 1:

5秒是不正常的。 反正你可以排队的消息,并在done被称为采取排队的消息,并发送至服务器。 看看这里例如

https://github.com/AndersMalmgren/SignalR.EventAggregatorProxy/blob/master/SignalR.EventAggregatorProxy.Client.JS/jquery.signalR.eventAggregator.js#L173



文章来源: Hub.start - wait for finish