1

如何将该代码投入使用?(这是来自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();
})
4

1 回答 1

2

websql操作最好使用promise。

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 承诺的一些参考

  1. 承诺解释为卡通

  2. 来自 Angular 文档

  3. http://lostechies.com/gabrielschenker/2014/02/04/angularjspart-11-promises/
于 2014-06-18T09:19:26.080 回答