我来自 PHP 背景并开始使用 node.js。大多数事情我都做得很好,但是当涉及到同步与异步和范围时,有些事情我很难理解。
这是一个非常简单的例子:
app.get('/register/:invite_id?' function(req, res) {
var agent = superagent.agent();
var form = {};
agent.post('127.0.0.1/invite/' + req.params.invite_id + '/details')
.end(function(invite_error, invite_details) {
form.email = invite_details.body.user.email;
//I can console.log form.email here
});
// I cannot console.log form.email here.. i get undefined.
// I need to access form.email here, so I can pre-populate my form field below...
// Sometimes however that agent.post may take 2-3 seconds
res.render('user/register', {
form: form
});
});