【发布时间】:2014-08-15 08:23:15
【问题描述】:
我正在尝试使用 angular-pusher 包装器使用 Pusher 构建一个 Angular 项目。它运行良好,但我需要检测用户何时短暂失去互联网,以便他们可以从我的服务器检索丢失的数据更改。
看起来处理这个问题的方法是在Pusher.connection.state('connected'...) 上重新加载数据,但这似乎不适用于angular-pusher - 我收到“Pusher.connection”未定义。
这是我的代码:
angular.module('respondersapp', ['doowb.angular-pusher']).
config(['PusherServiceProvider',
function(PusherServiceProvider) {
PusherServiceProvider
.setToken('Foooooooo')
.setOptions({});
}
]);
var ResponderController = function($scope, $http, Pusher) {
$scope.responders = [];
Pusher.subscribe('responders', 'status', function (item) {
// an item was updated. find it in our list and update it.
var found = false;
for (var i = 0; i < $scope.responders.length; i++) {
if ($scope.responders[i].id === item.id) {
found = true;
$scope.responders[i] = item;
break;
}
}
if (!found) {
$scope.responders.push(item);
}
});
Pusher.subscribe('responders', 'unavail', function(item) {
$scope.responders.splice($scope.responders.indexOf(item), 1);
});
var retrieveResponders = function () {
// get a list of responders from the api located at '/api/responders'
console.log('getting responders');
$http.get('/app/dashboard/avail-responders')
.success(function (responders) {
$scope.responders = responders;
});
};
$scope.updateItem = function (item) {
console.log('updating item');
$http.post('/api/responders', item);
};
// load the responders
retrieveResponders();
};
在此设置下,我将如何监控连接状态?我基本上是在尝试为不稳定的连接复制 Firebase“赶上”功能,Firebase 对我来说总体上无法正常工作,尝试管理多个数据集太令人困惑(根本不打算替换后端)。
谢谢!
【问题讨论】: