2012-02-26 2 views
0

В коде ниже я пытаюсь вызвать функцию getCollection объектного DbModels внутри вызова функции getCollection:Nodejs Вызов функции объекта из функции этого объекта

DbModels.prototype.addUser = function(Users, callback) { 
this.getCollection("seq", function(error, seq_collection) { 
    if(error) callback(error) 
     else { 
    var ID = seq_collection.find({_id: 'Users'}, {'seq': 1}); 
    console.log("ID is: "+ID); 
    console.log(this.parent); 
     this.getCollection("Users", function(error, sel_collection) {.... 

Однако это не работает, потому что это относится к первому getCollection. Как я могу вызвать функцию getCollection из вызова в коллекцию get?

Я уже пытаюсь это сделать, но это не делает трюк.

Спасибо!

+0

Я никогда не использовал узел, но вы пробовали arguments.callee? – NicoSantangelo

ответ

0

магазин это к переменной заранее:

DbModels.prototype.addUser = function(Users, callback) { 

var self = this; 

this.getCollection("seq", function(error, seq_collection) { 
    if(error) callback(error) 
     else { 
    var ID = seq_collection.find({_id: 'Users'}, {'seq': 1}); 
    console.log("ID is: "+ID); 
    console.log(this.parent); 

     self.getCollection("Users", function(error, sel_collection) {.... 
+0

Это, кажется, действительно вызывает функцию, спасибо. Однако теперь я получаю следующую ошибку: RangeError: Максимальный размер стека вызовов Какие-нибудь подсказки почему? –

+0

не уверен, я просто заметил, что вы назначаете вызов для поиска переменной вместо обработки с помощью функции, как в 'seq_collection.find ({_ id: 'Users'}, function (err, element) {.. . rest}) ' – mindandmedia

Смежные вопросы