Javascript 强制使用NodeJS从PostGreSQL进行同步查询(然后将其返回给解析该查询的函数)
我有一个数据库,其中包含一个用户列表(及其各自的用户名和密码)。我有一个登录系统,它运行一个函数,当找不到用户时返回Javascript 强制使用NodeJS从PostGreSQL进行同步查询(然后将其返回给解析该查询的函数),javascript,node.js,database,postgresql,promise,Javascript,Node.js,Database,Postgresql,Promise,我有一个数据库,其中包含一个用户列表(及其各自的用户名和密码)。我有一个登录系统,它运行一个函数,当找不到用户时返回false,当找到用户时返回用户名/密码。然后在登录系统中使用,但这与此无关 我的问题是,该函数必须向数据库发送查询。但是回调实际上不能返回任何东西,所以我不能使用 await database.query('querythings',data=await function(err,res){function things}) 我尝试声明一个变量,然后在查询回调设置内部将该变量设置
false
,当找到用户时返回用户名/密码。然后在登录系统中使用,但这与此无关
我的问题是,该函数必须向数据库发送查询。但是回调实际上不能返回任何东西,所以我不能使用
await database.query('querythings',data=await function(err,res){function things})代码>
我尝试声明一个变量,然后在查询回调设置内部将该变量设置为获取的数据,然后在该查询外部,wait
保留其余代码,但它只返回未定义的
。由于多重承诺的解决,wait
没有任何作用(我想)。因此,最终的结果是函数返回undefined
,服务器崩溃
是否有一种方法可以将获取的数据通过函数传递给登录系统
结构:
登录调用取数函数;获取函数查询数据库;callback设置一个passthrough;fetch函数接收该传递并对其进行解析,然后将内容返回到登录名。感谢您的帮助,internet。不像上次
事实证明,由于内部有回调,所以它不会返回承诺,因此async/await不可用。我仍然不希望服务器在发生错误时立即崩溃,但try/catch工作正常。lambda函数是否返回承诺?您正在做的事情与此用户正在做的相同您应该使用异步/等待或回调,而不是同时使用这两种方法。