【问题标题】:Starting signalR many times多次启动信号R
【发布时间】:2015-11-26 19:16:37
【问题描述】:

由于多次调用 .start(),我遇到了 SignalR 的麻烦。

这是我正在运行的 jQuery 代码:

var signalR = $.connection.chat;

var signIn = function() {
   $.connection.hub.start().done(function () {
      signalR.server.signIn()
   })
};

var signOut = function() {
   $.connection.hub.start().done(function () {
      signalR.server.signOut()
   })
};

var privateChat = function() {
   $.connection.hub.start().done(function () {
      signalR.server.privateChat()
   })
};

我找到了改进代码的解决方案,如下所示:

$.connection.hub.start().done(function () {
   var signIn = function() {
      signalR.server.signIn()
   };

   var signOut = function() {
      signalR.server.signOut()
   };

   var privateChat = function() {
      signalR.server.privateChat()
   };
})

我想要实现的是:$.connection.hub.start().done() 只写 1 次为global(不需要重新启动)。

我该怎么做?

【问题讨论】:

  • 我正试图弄清楚你想要什么......你的第二个解决方案似乎几乎在那里,除了你的 3 个方法在匿名函数的范围之外无法访问。

标签: jquery signalr signalr-hub


【解决方案1】:

有点不清楚你想要实现什么。我认为缺少一些代码来完全理解您的问题,但这应该可以:

// get chat hub
var signalR = $.connection.chat;

$.connection.hub.start().done(function () {
  // connect hub to server
  signalR.server.signIn();
  signalR.server.signOut();
  signalR.server.privateChat();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-29
    • 2020-03-08
    • 2017-11-23
    相关资源
    最近更新 更多