gpt4 book ai didi

mysql - NodeJS 和 SQL 与异步

转载 作者:行者123 更新时间:2023-11-29 10:06:24 25 4
gpt4 key购买 nike

我正在尝试将 SQL 查询与 NodeJs 一起使用,但异步部分确实让我感到困惑。当我打印返回时,它变得“未定义”。我怎样才能同步这个?

    function SQL_test(blos) {
DB.query("Select profesor_id from materiador where materia_id = '"+blos+"';",function (err, results, fields) {

return results;

});

}

console.log(SQL_test(1));

谢谢!

最佳答案

所以你的答案目前是一个 promise 。您必须阅读 Async 和 Await 才能执行更多同步 JS。

NodeJS 的大部分 JS 目前都是异步的。下面是正确利用数据库回调方法的示例的重写版本。

function callback (err, results, fields) {
if (err) {
console.log(err);
return err;
}
console.log(results, fields);
return results;
};

function SQL_test(blos) {
DB
.query("Select profesor_id from materiador where materia_id = '"+blos+"';", callback);
}
SQL_test(1);

要同步执行相同的操作,您仍然必须有一个外部级别的 promise ,否则 Async 和 Await 将无法按您希望的方式工作。 javascript 没有真正的同步方法来处理这个问题,因为它执行时不等待响应。

关于mysql - NodeJS 和 SQL 与异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51829595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com