我正在尝试将变量设置为返回布尔值的函数。但是,我似乎无法实现这一目标。这是您使用异步功能的地方吗?
这是我的代码:(NodeJS)
function getNumbers() {
return client.query(query, (error, result) => {
if (error) {
console.log(error)
return false
} else if (result.rows.length) return true
else return false
})
}
app.post('/receiveSMS', (request, response) => {
let doesUserExist = getNumbers()
console.log(doesUserExist)
}
未定义控制台日志记录时获得的输出。
感谢您的帮助!
答案 0 :(得分:1)
client.query不会返回结果,而是在执行查询时会调用回调方法。
function getNumbers(callback) {
return client.query(query, callback)
}
app.post('/receiveSMS', (request, response) => {
let doesUserExist
getNumbers((error, result) => {
if (error) {
console.log(error)
doesUserExist = false
} else if (result.rows.length) {
doesUserExist = true
} else {
doesUserExist = false
}
console.log(doesUserExist)
// send response
})
}