如何阻止SignalR排队警报

时间:2018-05-01 18:42:26

标签: javascript .net signalr

我有一个.NET应用程序,当其他用户添加新内容时,会向用户发送javascript警报。但是,如果每个其他12个用户添加一些内容,则会有12个警报背靠背。我只需要一个,第一个。有没有办法在点击第一个警报时清除所有警报?谢谢。

1 个答案:

答案 0 :(得分:0)

好的,所以我通过以下方式找到了解决方法。

var alertHub = $.connection.EventHub;
var alertVisable = false;

// Set the Alert method
alertHub.client.Alert = function () {
    if (alertVisable === false) {
        alertVisable = true;
        //alert("New Data Available!");
        if (confirm("Additional comments are now available, would you like to load them?")) {
            refreshPage();
        }
        else {
            setTimeout(function () {
                alertVisable = false;
            }, 300000)
        }
    }
}
$.connection.hub.start().done();

我在加载时将变量设置为false,并在调用警报时将其更改为true。在变量再次设置为true之前,不会再运行警报。在我的情况下,我告诉取消按钮不要将变量设置为假5分钟。我希望这可以帮助别人。