我正在使用Node.js驱动程序为mysql设置查询请求。 查询完成后,我想在函数之外使用该结果的值(进行计算并在网页上显示结果),但是由于它是异步的,因此我无法做到这一点。
我一直在寻找解决方案,但我想它使我对回调和Promise更加困惑。有没有办法做到这一点,或者有什么解决办法可以使其同步以便在脚本中重用该值。
let selectQuery = 'select * from orders';
mysqlClient.connect(function (error) {
///////
});
let data = {};
mysqlClient.query(selectQuery, function (error, result) {
if (error) throw error;
for (let i = 0; i < result.length; i++) {
data = result[i];
console.log(data);
}
return data;
});
console.log(data);
mysqlClient.end(function (error) {
//////
});
第一个数据日志(位于“ for”内部)为我提供了结果,但是无论我为返回.query之外的数据做什么,第二个日志均保持空白