我是node.js和JavaScript的新手,并试图学习这些东西。在我的测试中,我需要通过选择查询从Oracle DB中选择一个值,并需要在稍后的代码中使用它。我指的是在https://blogs.oracle.com/opal/entry/introducing_node_oracledb_a_node上给出的相同代码,它工作正常,但无法返回结果值。
下面是我的代码:
this.getTableData = function(){
var res;
oracledb.getConnection(
{
user : "user",
password : "password",
connectString : "db "
},
function (err, connection) {
if (err) {
console.error(err);
console.log("errorrrrrrrrrrr : "+err);
return;
}
connection.execute("SELECT query",
function(err, result) {
if (err) {
console.error(err);
return;
}
else if(result) {
res = result.rows[0][0];
console.log("result in else if: "+res);
return res;
}});
});
};
函数返回未定义的值。
1条答案
按热度按时间soat7uwm1#
当然,它返回
undefined
。这是因为异步回调函数。您需要执行以下操作:解决这个问题的另一种方法是使用
Promise
:您在评论中要求的代码: