我需要在调用IndexedDB库之后返回一个方法对象。
<li>
为什么这不会返回方法对象?我不明白!!
使用此:https://github.com/bramski/angular-indexedDB
谢谢!
答案 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适用于回调机制。您需要使用它以合理的方式设计数据服务。