鉴于 node.js 的异步特性,我在弄清楚变量“传递”时遇到了一些麻烦(我知道这不是正确的术语,我会解释)。
请查看以下内容:
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if(err) {
throw err;
}
var solution = rows[0].solution;
});
res.render('index', { title: solution });
你可以想象,我得到一个reference error, solution is not defined
. 这是因为这res.render
是在从 mysql 服务器获取解决方案之前完成的。
定义解决方案后,如何使其呈现页面?我知道它真的很小而且很愚蠢,并且确实是节点的核心,但请帮助我理解。