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

user.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 に答える