【发布时间】:2017-01-04 04:19:18
【问题描述】:
为什么usernametoid 函数不返回任何东西?我通过安慰它知道它存在,但它不会存储在otherplayerid 变量中?为什么?
我的应用程序:(调用 post api kill)
var userFunc = require('../factory/user_factory.js');
app.post('/api/kill', function (req, res) {
var username = "signature";//req.query.username;
var otherplayerid = userFunc.usernametoid(username);
if (!(otherplayerid)) {
console.log("other player is acually " + otherplayerid);
result.push("denne brukeren finnes ikke! " + otherplayerid);
} else {
}
});
和我的用户工厂:
var articles = require('../controllers/articles.server.controller'),
path = require('path'),
mongoose = require('mongoose'),
Article = mongoose.model('Article'),
Users = mongoose.model('User'),
errorHandler = require(path.resolve('./modules/core/server/controllers/errors.server.controller'));
exports.usernametoid = usernametoid;
function usernametoid(id) {
var query = Users.findOne( { username : id } );
query.exec(function(err, datas) {
console.log(datas._id);
return datas._id;
});
}
控制台:
other player is acually undefined
57c1c0f3b6b20c011242bf22
【问题讨论】:
-
你的控制台输出是什么样的?
-
您正在尝试从异步操作返回信息。你不能那样做。
-
@jfriend00 我该怎么做?
-
我将您的问题标记为另一篇解释各种选项的帖子的副本。
标签: javascript node.js mean-stack var