2012-02-26 1 views
0

の関数内からのオブジェクトの関数を呼び出します。しかし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 Collectionの呼び出しの中から呼び出すにはどうすればよいですか?

私はすでにthis.parentを試していますが、そのトリックは行いません。

ありがとうございます!変数事前に

+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){..}のように、関数を使って処理する代わりに、変数を見つけるための呼び出しを割り当てていることに気付きました。休憩}) ' – mindandmedia