工厂中的角度和袋子DB

时间:2014-05-28 17:14:15

标签: javascript angularjs pouchdb

我正在尝试从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
                    });
            }
               };
        };
});

1 个答案:

答案 0 :(得分:0)

我不是100%确切地说你的错误,但以下内容适用于我

'use strict';
angular.module('app.clientedb', [])
    .factory('clientedb', ['pouchdb', function(pouchdb) {
        return pouchdb.create('mydb', function callback(err, result) {

            if (!err) {
                alert('Successfully added a program!');
            }
            else {
                alert('Failed added a program!');
            }
        });
    }]);

我还按顺序包含我的js文件

<script src="/lib/pouchdb-nightly.js"></script>
<script src="/lib/angular-pouchdb.js"></script>

我正在设置角度lke

angular.module('app', [
                       'pouchdb',
                       'app.clientedb',
])