2014-09-21 137 views
0

我試圖通過使用回調再次重用MongoDB連接,但是,當我嘗試調用我的回調時,我收到undefined不是一個函數。回調未定義不是函數

任何人都可以點我在正確的方向在何處我可能會錯誤

BroadbandData.prototype.connectToMongoDB = function(callback, obj){ 
    MongoClient.connect('mongodb://127.0.0.1:27017/UKBroadbandCoverageAndSpeed', function(err, db) { 
     this.mongoDB = db; 
     callback(db, obj); 
    }); 
} 


BroadbandData.prototype.storeMongoRecord = function(db, obj){ 
    console.log("Hello World") 
} 

/* 
* persist 
* @params Array (Object), String 
* @returns null 
*/ 
BroadbandData.prototype.persist = function(obj, source){ 
    if(source == 'mongodb'){ 

     this.connectToMongoDB(this.storeMongoRecord(), obj); 

     /*var collection = db.collection('data'); 
     collection.insert(obj, function(err, docs) { 
      if(err) throw(err); 
      console.log("Inserted") 
     }); 
*/ 
    }else if(source == 'object'){ 
     this.broadbandDataJSON.push(obj); 
    } 

}

+0

不應該那些原型函數定義在它們之後有分號嗎? – jwatts1980 2014-09-21 19:21:22

回答

2
connectToMongoDB(this.storeMongoRecord(), ... 

你剛纔稱爲的功能,並通過了結果(這是undefined)至connectToMongoDB。 (就像任何其他函數調用一樣)

+0

小學生錯誤...謝謝! – 2014-09-21 19:33:18