1

我正在尝试创建使用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

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

有人可以帮忙吗?先感谢您...

4

0 回答 0