2014-09-21 107 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