0

我知道这一定是一个非常愚蠢的问题,但我不知道如何让它发挥作用。我正在学习 node.js 和 mongojs,这是我的问题:

这是我的 server.js

server.get("/", function(request, response) {
  if (user.whatever()) {
    return response.send('true');
  } else {
    return response.send('false');
  }
});

这是我的 user.js

exports.whatever = function(request, response) {
  return db.tableName.findOne({
    fieldName: null
  }, function(error, record) {
    if (record === null) {
      return false;
    } else {
      return true;
    }
  });
};

该函数返回“未定义”。我想这是一个阻塞代码的问题,但不知道如何转换它。请帮忙!

4

1 回答 1

1

你应该这样做:

服务器.js

server.get("/",user.whatever, function(request, response) {
  if (request.user)
    response.send('true');
  else
    response.send('false');
});

用户.js

exports.whatever = function(request, response, next) {
  db.tableName.findOne({ fieldName: null }, function(error, record) {
    if (record === null) request.user = false;
    else request.user = true;
    next();
  });
};
于 2012-11-18T16:04:30.623 回答