0

我正在使用电子和 nedb,但我遇到了一些错误,这是我的代码

var DataStore = requireNode('nedb');
var db = new DataStore({ filename: __dirname + '/db.json', autoload: true });
// here i am getting error : TypeError: async.queue is not a function

任何人都有任何想法

有人问了同样的问题,但没有人回答 同样的问题

这是我的完整工厂

define(function (app) {
    'use strict';

    // handles local dtabase
    var bootstrap = function Initialize(app) {

                var DataStore = requireNode('nedb');
                var db = new DataStore({ filename: __dirname + '/db.json', autoload: true });
        app.factory('repositoryService',[
            function () {


                var factory = {};

                factory.initialize = function () {

                };

                return factory;
            }
        ]);
    }
    return bootstrap;
});
4

3 回答 3

0

显然异步模块未正确加载:未定义 async.queue 函数。它在文件 node_modules/nedb/node_modules/async/lib/async.js 的第 673 行中定义

nedb/node_modules/async/lib/async.js:
671      };
672  
673:     async.queue = function (worker, concurrency) {
674          if (concurrency === undefined) {
675              concurrency = 1;
于 2016-06-10T05:53:55.393 回答
0

使用代码:

var Datastore = require('nedb')
            , db = new Datastore({ filename: 'db/yourdb.json', autoload: true });

        //your promisse    
        activate().then(function(response){
            $scope.data = response;
        });

        /**
         * Your function.
         */
        function activate() {
            var deferred = $q.defer();
            db.find({}, function(err, newDoc) {
                deferred.resolve(newDoc);
            });
            return deferred.promise;
        }
于 2017-02-21T20:33:41.447 回答
-1

它至少创造了db.json?

然后,如果您将第一个代码片段包装在控制器中并将其加载到 div 中,它应该可以工作。

于 2016-01-12T14:49:45.067 回答