我正在尝试创建使用 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 。
我应该补充的另一件事是,我认为这在某种程度上取决于测试和点击应用程序的用户数量
有人可以帮忙吗? 提前谢谢你......