2017-01-02 1 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를 쿼리하는 것이 비동기 적이므로 반환 문을 사용할 수 없습니다. 결과가 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); 
     }); 
}