1

この単純な問題の解決策が見つかりません。外部の .js からエクスポートされた関数を呼び出して、出力を保存したいのです。私は次のことをしました:

db.js

function findMessages () {
    allMsg = mongoose.model('allMsg');
    allMsg.find(function (err, message) {
       console.log('here is ok');
       return message;
    });
};

exports.returnMessages = findMessages;

app.js

var db = require( './db' );

app.get('/message', function(req, res){
  var messages = db.returnMessages();
  console.log('Nothing here (undefined): ' + messages);
});

app.js でメッセージを読むにはどうすればよいですか? ありがとう。

4

1 に答える 1

2

簡単な答え: できません。それはコールバックがどのように機能するかではありません。

findMessages()コールバック関数を受け入れるように変更する必要があります。

function findMessages (callback) {
    allMsg = mongoose.model('allMsg');
    allMsg.find(function (err, message) {
       callback(message)
    });
};

// app.js
app.get('/message', function(req, res) {
    db.returnMessages(function(messages) {
        console.log(messages);
    });
});
于 2013-04-16T15:50:08.873 に答える