从nodejs回调函数返回值



我有一个这样的函数

function con(){
database.connect(con, (err, con) => {
conn.query("select * from person", (err, rs) => {
console.log(rs)--->result
return rs
})
}
}
var val = con()
console.log(val) // --> Undefined

经过大量的搜索,我们知道我们不能从回调返回值。这样做

function con(fn){
database.connect(con, (err, con) => {
conn.query("select * from person", (err, rs) => {
console.log(rs) // --> result
fn(rs)
})
}
}
var val = con(function(rs) {
console.log(rs) // --> result
return rs
})
console.log(val) // --> Again undefined

我想在另一个方法中使用rs,并且应该在图形的解析器中返回它如何从上面返回值并在另一个函数

中使用它

因此,您需要清楚地理解的事情是—当您执行return时,您将从当前函数返回。

在示例中:

var val = con(function(rs) {
console.log(rs) // --> result
return rs
})

从匿名回调函数返回rs。但是con没有返回任何东西。

我建议你使用async/await,只要我让你使用pgmysql

const connection = await database.connect(connectionOptions)
const result = await connection.query('select * from person')
console.log('Result:', result)

最新更新