node.js - 如果条件无法正常工作,因为我将变量的值设为未定义
问题描述
我在 nodejs 中运行 neo4j 密码查询并在回调函数中获取结果:
async (body) => {
await query.cypher({
query: 'Match (phoneno {phnnumber : {number}}) return phoneno',
params: {
number: body
}
},
await
function(err, data) {
len = data.length
console.log("len:" + len)
});
console.log("len outside:" + len)
if (len == 0) {
return false;
} else {
return true;
}
}
“len outside:”控制台日志和if
语句都显示len
为undefined
. 谁能明白为什么?
解决方案
您应该len
在函数顶部定义为变量:
async(body)=>{
var len = null;
await query.cypher({
query: 'Match (phoneno {phnnumber : {number}}) return phoneno',
params: {
number : body
}
},
await function(err,data){
len = data.length
console.log("len:"+len)
});
console.log("len outside:"+len)
if (len == 0 ){
return false;
}
else{
return true;
}
}
推荐阅读
- javascript - React 路由器和全局上下文
- python-3.x - Python3:设置数据范围
- java - Maven 构建战争某些类不包括在内
- go - 从 YAML 配置文件中仅加载一个部分
- sqlite - Flutter - 从数据库中获取记录并在 ListView Builder 中显示
- java - Spring WS 请求 GZIP 压缩
- spring - RestControllerAdvice 不适用于自定义注释
- angular - TSLint 和 VSCode 在 .ts 文件中未显示红线
- java - Class.ForName("com.microsoft.sqlserver.jdbc.SQLServerDriver") 抛出 ClassNotFoundException
- arrays - 在 Matlab 中动态更新 DataTable 的标题