【发布时间】:2014-05-29 02:45:52
【问题描述】:
我正在尝试在应用程序启动时从 javascript 文件中加载 pouchdb 客户端数据库,但没有创建数据库。调试器中没有控制台错误。当我尝试调试时,下面这一行似乎失败了,因为它退出了匿名函数并且不允许我进一步进入该函数。
在这里失败--> angular.module('app').factory(serviceId, [ 'pouchdb', createclientdb]);
知道为什么我做错了吗?
(function () {
'use strict';
var serviceId = 'clientedb';
angular.module('app').factory(serviceId, [ 'pouchdb', createclientdb]);
function createclientdb(pouchdb) {
return pouchdb.create('mydb', function callback(err, result) {
if (!err) {
alert('Successfully added a program!');
}
else {
alert('Failed added a program!');
}
});
return true;
}
});
最新错误产生未捕获的异常。
(function () {
'use strict';
var databasename = 'mydb';
angular.module('app.clientdb', [])
.factory('clientdb', ['pouchdb', function (pouchdb) {
return pouchdb.create(databasename, function callback(err, result) {
if (!err) {
alert('Successfully added a program!');
}
else {
alert('Failed added a program!');
}
});
}]);
});
我还有以下服务。有什么建议吗?
(function () {
'use strict';
angular.module('app').factory('clientdbservice', ['pouchdb','app.clientdb',clientdbservice]);
function clientdbservice(clientdb) {
return {
adddata: function (obj) {
clientdb.put(obj)
.then(function () {
log('data added to Client DB');
})
.catch(function (error) {
log('Could not add data to Client DB');
}).finally(function () {
// Do something when everything is done
});
}
};
};
});
【问题讨论】:
-
看起来您在声明之前使用了函数 createclientdb。
标签: javascript angularjs pouchdb