如何从rethinkdb asynchornus nodejs中检索对象

时间:2017-01-02 19:24:04

标签: node.js rethinkdb

我尝试使用rethinkdb收集问题,但是我对返回集合有疑问。我如何编写getQuestion函数来重新收集并使用它:

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;
}

我刚开始使用node,所以你能帮我解决这个案例的asynchornus方法吗?

1 个答案:

答案 0 :(得分: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); 
      });
}