2017-01-02 6 views
0

私はrethinkdbを使って質問の集まりを取得しようとしていますが、私は戻ってきたコレクションに問題があります。どのように私はコレクションをretrunし、このようにそれを使用するためにgetQuestion機能をコーディングすることができます:rethinkdb asynchornus nodejsからオブジェクトを取得する方法

var questions = getQuetions(); 

function getQuestions() { 

    var question; 
    r.table("questions") 
     .run() 
     .then(function (response) { 
      questions = response;        
     }) 
     .error(function (err) { 
      console.log('error occurred ', err); 
     }); 
    return questions; 
} 

私はちょうどノードで始めているので、あなたがこのケースにasynchornusアプローチで私を助けることができますか?

答えて

0

dbのクエリは非同期であるため、return文を使用することはできません。結果がdbから返される前に戻ります。以下のようにコールバックを使用することができます。

getQuestions(function(err, result){ 
    console.log(err, result); 
}); 

function getQuestions(callback) { 

    r.table("questions") 
     .run() 
     .then(function (response) { 
      callback(null, response);        
     }) 
     .error(function (err) { 
      callback(err); 
     }); 
} 
関連する問題