WebSocket回调函数多次调用

时间:2015-06-15 09:46:27

标签: angularjs websocket sockjs stompjs

我正在尝试创建使用 WebSocket协议来交换数据的小型Web应用程序

这是我的角色服务

define(function () {

    return function (module) {
        return module.service("socketService", function($q, $timeout) {

            var service = {},
                listener = $q.defer(),
                socket = {
                    client: null,
                    stomp: null
                };

            service.RECONNECT_TIMEOUT = 30000;
            service.SOCKET_URL = "/service/booking";
            service.CHAT_TOPIC = "/service/booking/updates";
            service.CHAT_BROKER = "/service/booking";

            service.receive = function() {
                return listener.promise;
            };

            ...
            return service;
       });
   };
});

以及控制器代码

define(function () {
    return function (module) {
            socketService.receive().then(null, null, function(message) { 
                $scope.list.countDownTimer = 0;
                if(message.resourceId === parseInt($routeParams.resourceId)) {
                    $scope.list.bookings = [];
                }   
                ...     
            });

我的问题是 promise.then()回调函数被多次调用,并且此调用的数量不可重复:它可能 2 次, 27 甚至 110

我应该补充的另一件事是,我认为这在某种程度上取决于测试和点击应用程序的用户数量

有人可以帮忙吗? 提前谢谢你......

0 个答案:

没有答案