我有一些非常愚蠢的问题,我正在尝试根据从 mongodb 中提取的条件使用 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 正在寻找延迟的结果,并且 return 不会将结果分配给 url ......我试图将“res”对象传递给 getRedirect 函数但我很漂亮肯定是错的。
有什么线索吗?