我是节点js的新手。我在后端中使用带有express的节点,而mysql作为数据库使用。我在处理异步调用时感到困惑。在我使用的代码中。
fun main(args: Array<String>) : Unit {
val l = listOf(listOf(1,2,3), listOf(4,5,6))
val t = label@ with(l) {
get(0).forEach {
return@label 2
}
}
println(t)
}
我收到错误 connection.query(...)。然后不是函数
return connection.query(qry).then(
function(result) {
console.log('Query executed');
resolve(result.rows[0]);
},
function(err) {
console.log('Error occurred', err);
reject(err);
}
)
已正确执行。 简单的查询我没有任何问题。在执行复杂查询时,上面的一个不是等待完整的查询执行
答案 0 :(得分:2)
您需要导入mysql,并实际创建连接。
只需:
where
答案 1 :(得分:1)
我还没有发现,我们可以将诺言与connection.query('')
函数一起使用。根据mysqljs文档,我们可以传递回调函数以获取结果。
var mysql = require('mysql');
var connection = mysql.createConnection(...);
connection.query('SELECT * FROM table_name', function (error, results, fields) {
if (error) throw error;
console.log(result);
});
答案 2 :(得分:1)
要首先将.then()
与mysql一起使用,您需要“承诺”数据库客户端。这可以通过为MySQL客户端创建包装器类来实现。
选中此article以获得更好的理解