我尝试做的是在控制器中使用Angular服务在web-sql数据库中插入新数据,并返回一个承诺,用新数据更新显示的表。
.factory('DataProvider', function($q) {
var defer = $q.defer();
var db = openDatabase('testdb', '1.0', '', 5*1024*1024);
return {
insert: function (data) {
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS ' + 'test(nr integer primary key autoincrement, name)');
tx.executeSql('INSERT INTO test (nr, name) VALUES (?, ?)', [data.id, data.name]);
}, function () {
defer.resolve(results);
});
return defer.promise;
}
}
});
但是现在我打电话给:
Data.insert($scope.data).then(function() {
//update data here
})
尝试获取插入的条目不会被包含的数据。
我是否遗漏了某些内容,或者仅仅是INSERT成功完成后INSERT上的回调未执行?