我是一个完整的Node noob,我正在努力理解为什么在调用此函数时会跳过方法的整个执行过程。如果我继续使用调试器,我会从字面上看到执行从第一行(函数声明)到最后一行,而中间没有发生任何变化。
非常感谢!老实说,我真的很难理解Node代码的异步/等待特性,因此,如果您还有足够的资源来解决这一问题,我将不胜感激。
var mysql = require('mysql');
var connPool = mysql.createPool({
host: "secret",
user: "secret",
password: "secret"
});
...
There is code executing here that eventually calls the function below
...
function getOrgAndAgentId(emailAddress){
connPool.getConnection(function(err, conn){
if(err){
console.log(err);
return;
}
var sql = getAgentIdAndOrgIdSql(emailAddress);
conn.query(sql, [], function(err, result){
conn.release();
if(err){
console.log("TPM Query Error: " + err)
return;
}
var ret = {
agentId: result.row[0][agentIdAndOrgIdEnum.agentId],
orgId: result.row[0][agentIdAndOrgIdEnum.orgId]
}
return ret;
});
});
}