我已经得到了相当愚蠢的问题,我试图使用基于MongoDB的距离被拉条件的node.js进行重定向服务......这样的代码lookis这样的:Node.js的其他函数内部异步调用
var http = require('http'),
util = require('util'),
url = require('url');
var server = http.createServer(function(req, res) {
domain = req.headers['host'];
var url = getRedirect(domain);
res.writeHead(301, { 'Location': url});
res.end();
});
server.listen(8080);
var getRedirect = function(domain) {
Domain.findOne({ 'name': domain }, 'url', function (err, domain) {
if (err) return handleError(err);
console.log('redirect url %s.', domain.url)
return domain.url
})
}
当然 - 因为它应该是不工作,因为Domain.findOne找到延迟的结果,并且返回不分配resuluts到url ...我试图通过“res”对象到getRedirect函数,但我很确定这是错误的。
任何线索?