我正在开发一个签入应用程序,该应用程序使用SQL server数据库来存储和获取人员如果应用程序处于联机状态,并且在脱机时使用本地存储来存储人员,那么一旦恢复联机,就会将这些更改推送到数据库中。
my controller currently goes like this
function DemoController($scope,localStorageService,$http,$resource,$interval)
{
$scope.online = "";
$scope.checkConnection=function()
{
check=window.navigator.onLine;
if(!check)
{
$scope.online="offline";
return false;
}
else
{
$scope.online="online";
return true;
}
}
if($scope.checkConnection() == true){
$scope.Get = function(){
$http.get(url).success{function(res)
{
$scope.People = res;
$scope.setPeople();
}
}
//基本上是那些人的编辑和删除功能
$scope.setPeople = function() {};
$scope.deletePeople = function(){};
}
else if ($scope.checkConnection == false)
{
// use same methods/functions but with local storage
$scope.pushAll = function (){ %http.put(url)}
//here is the part i do not understand
if checkConnection switches from offline to online
{
$scope.pushAll();
}
}
$scope.intervalCheck = function()
{
var intervalPromise;
intervalPromise = $interval($scope.checkConnection(), 250);
};
$scope.intervalCheck();
}
另一个问题是,即使它从在线切换到离线,反之亦然,我也不会切换它使用的方法(在线/离线方法)。我不确定是否有合适的方式来写这篇文章,但我希望有,如果这篇文章太模糊,我可以编辑更多的细节。
我认为您应该尝试使用cookie。存储脱机数据但是cookie中的大数据是不鼓励的,所以要小心。