Node.js 从nodejs中的回调函数返回值

Node.js 从nodejs中的回调函数返回值,node.js,callback,graphql,asynccallback,Node.js,Callback,Graphql,Asynccallback,我有一个这样的函数 函数con{ database.connectcon,err,con=>{ conn.queryselect*from person,err,rs=>{ console.logrs-->结果 返回rs } } } var=con console.logval/->未定义 经过多次搜索后,我们知道我们无法从回调返回值。请完成此操作 函数confn{ database.connectcon,err,con=>{ conn.queryselect*from person,err,r

我有一个这样的函数

函数con{ database.connectcon,err,con=>{ conn.queryselect*from person,err,rs=>{ console.logrs-->结果 返回rs } } } var=con console.logval/->未定义 经过多次搜索后,我们知道我们无法从回调返回值。请完成此操作

函数confn{ database.connectcon,err,con=>{ conn.queryselect*from person,err,rs=>{ console.logrs/->结果 fnrs } } } var val=混乱者{ console.logrs/->结果 返回rs } console.logval/->再次未定义 我想在另一个方法中使用rs,并且应该在graphql的解析器中返回它
如何从上面返回值并在另一个函数中使用它

因此,您需要清楚地了解的是,当您返回时,您将从当前函数返回

在示例中:

var val=混乱者{ console.logrs/->结果 返回rs } 从匿名回调函数返回rs。但con不会返回任何东西

我建议您使用async/await,因为我让您使用pg或mysql

const connection=wait database.connectconnectionOptions const result=等待连接。查询'select*from person' console.log'Result:',Result
这回答了你的问题吗?不,我想再次从con返回值,因为它是未定义的。如果不能,您需要在回调中使用该值,或者使用链接中提到的承诺。console.logval将在调用connect回调函数之前运行,因此,知道val/rs何时可用的唯一方法是使用回调/承诺感谢回复,但我有一个对connect的回调,成功连接后,我需要再次查询查询的结果有一个回调如何将其转换为异步await@GBulliSwamyReddy,如果要检查连接上的错误,或者在查询时—只需将它们放在try-catch块中。就这样。您的代码将比回调更平坦;请尝试{connection=wait database.connect;}捕获错误{…}