Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角形和袋形DB在工厂_Javascript_Angularjs_Pouchdb - Fatal编程技术网

Javascript 角形和袋形DB在工厂

Javascript 角形和袋形DB在工厂,javascript,angularjs,pouchdb,Javascript,Angularjs,Pouchdb,我试图在应用程序启动时从javascript文件中加载PockDB客户机数据库,但没有创建数据库。调试器中没有控制台错误。当我尝试调试时,它似乎在下面这行失败了,因为它退出了匿名函数,不允许我进一步进入该函数 此处失败-->angular.module('app').factory(serviceId,['PockDB',createclientdb]) 知道我为什么做错了吗 (function () { 'use strict'; var serviceId

我试图在应用程序启动时从javascript文件中加载PockDB客户机数据库,但没有创建数据库。调试器中没有控制台错误。当我尝试调试时,它似乎在下面这行失败了,因为它退出了匿名函数,不允许我进一步进入该函数

此处失败-->angular.module('app').factory(serviceId,['PockDB',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
                    });
            }
               };
        };
});

我并不是百分之百地了解你的错误所在,但以下几点对我有用

'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>

看起来您在声明函数createclientdb之前使用了该函数。我得到了未捕获的异常。我将更新主要问题。“[$injector:modulerr]未能实例化模块app.clientedb,原因是:错误:[$injector:nomod]模块“app.clientedb”不可用!您可能拼错了模块名称或忘记加载它。如果注册模块,请确保指定您可能调用了您的clientdbservice,而不是app.clientedb。我可能将其命名为错误。但现在它不再引发任何错误,但不会创建DB。不会引发异常。我认为ing丢失或对此进行了注释,但到目前为止我还没有发现这种情况。您能给我发送一份您运行的测试文件副本吗?谢谢
angular.module('app', [
                       'pouchdb',
                       'app.clientedb',
])