AngularJS在IndexedDB调用之后返回方法的对象

时间:2016-04-26 15:38:28

标签: javascript angularjs promise angular-promise

我需要在调用IndexedDB库之后返回一个方法对象。

<li>

为什么这不会返回方法对象?我不明白!!

使用此:https://github.com/bramski/angular-indexedDB

谢谢!

1 个答案:

答案 0 :(得分:1)

这不起作用,因为返回商店对象无效。商店将关闭,对其的操作将失败。

我真的不清楚你究竟想做什么。刚拿到数据?您需要返回一个将返回数据的承诺。

.service('dataFetcher', ['$indexedDB', 'uuid4','$q', function ($indexedDB, uuid4, $q) {
  this.getData = function() {
    promise = $q.defer();
    $indexedDB.openStore('presentations', function (store) {
      ... do what is needed to get the answer here...
      promise.resolve(data);
    }
    return promise.promise;
  }
}

使用此服务然后就像......

.controller('MyControl', ['dataFetcher', function ($scope, dataFetcher) {
  dataFetcher.getData().then( function (data) {
    $scope.data = data;
  });
}];

这会给你实际上寻求的东西。 indexed-DB适用于回调机制。您需要使用它以合理的方式设计数据服务。