问题描述
function con(){
database.connect(con,(err,con) => {
conn.query("select * from person",rs) => {
console.log(rs)--->result
return rs
})
}
}
var val = con()
console.log(val) // --> Undefined
经过大量搜索发现我们无法从回调中返回值。完成此操作
function con(fn){
database.connect(con,rs) => {
console.log(rs) // --> result
fn(rs)
})
}
}
var val = con(function(rs) {
console.log(rs) // --> result
return rs
})
console.log(val) // --> Again undefined
我想在另一种方法中使用 rs 并且应该在 graphql 的解析器中返回它 如何从上面返回值并在另一个函数中使用它
解决方法
所以,你需要清楚地理解——当你return
时,你从当前函数返回。
在示例中:
var val = con(function(rs) {
console.log(rs) // --> result
return rs
})
你从匿名回调函数返回 rs
。但 con
不返回任何内容。
我建议您使用 async/await
,据我所知,您使用 pg
或 mysql
。
const connection = await database.connect(connectionOptions)
const result = await connection.query('select * from person')
console.log('Result:',result)