2015-12-03 50 views
0

我對電子和nedb工作,但我面臨着一些錯誤 這裏是我的代碼nedb與電子和angularjs

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 

人有任何想法

有被人問同樣的問題但目前還沒有答案 same question

,這裏是我的全廠

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; 
}); 

回答

-1

它是否至少創建了db.json

然後,它應該工作,如果你將第一個代碼片段包裝在控制器中並將其加載到一個div中。

0

顯然異步模塊沒有正確加載:async.queue函數未定義。它是在該文件的673線所限定node_modules/nedb/node_modules /異步/ LIB/async.js

nedb/node_modules/async/lib/async.js: 
671  }; 
672 
673:  async.queue = function (worker, concurrency) { 
674   if (concurrency === undefined) { 
675    concurrency = 1; 
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; 
     }