有时需要一秒或更长时间才能从浏览器连接到我的SignalR服务器 - 即使在本地运行时也是如此.我认为websockets是快速的!
有一个配置选项告诉SignalR JS客户端load在发送任何内容之前等待页面事件完成.
只需设置waitForPageLoad: false启动选项以防止这种情况发生.当然,如果未加载页面,您必须确保在回调中执行的任何操作都可以安全执行.
像YouTube视频没有加载的任何东西都可以延迟开始 - 所以我不确定为什么它不是更好/更广泛记录!
$.connection.hub.start({ waitForPageLoad: false}).done(function() {
});
Run Code Online (Sandbox Code Playgroud)
摘自源代码(这是我发现的方式):
// Check to see if start is being called prior to page load
// If waitForPageLoad is true we then want to re-direct function call to the window load event
if (!_pageLoaded && config.waitForPageLoad === true) {
connection._.deferredStartHandler = function () {
connection.start(options, callback);
};
_pageWindow.bind("load", connection._.deferredStartHandler);
return deferred.promise();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2333 次 |
| 最近记录: |