数据库选择服务中的所有角度websql,获取数组

时间:2014-06-18 08:51:44

标签: javascript angularjs angular-services angular-promise

如何将该代码投入使用? (这是来自https://github.com/paulocaldeira17/angular-websql)我的意思是我想传递表名,然后用用户获取数组。我想我应该使用承诺,但我不知道如何开始。

$scope.db.selectAll("table_users", function(results) {
  $scope.users = [];
  for(var i=0; i < results.rows.length; i++){
     $scope.users.push(results.rows.item(i));
  }
  $scope.$apply();
})

1 个答案:

答案 0 :(得分:2)

最好使用promises进行websql操作。

SampleService.getUsers("table_name").then(function(){
  console.log("Array of users");
});

<强>服务

getUsers:function(table_name){
  var deferred = $q.defer();
  $scope.db.selectAll("table_users", function(results) {
  $scope.users = [];
  for(var i=0; i < results.rows.length; i++){
     $scope.users.push(results.rows.item(i));
  }
   deferred.resolve($scope.users);
});
  return deferred.promise;

}

代码不是实际代码,但它会为您提供解决问题的总体思路。

在angularjs中使用$ q promises的一些参考

  1. Promises explained as cartoon

  2. From Angular docs

  3. http://lostechies.com/gabrielschenker/2014/02/04/angularjspart-11-promises/