javascript - 无法在猫鼬回调函数中设置变量
问题描述
我不明白为什么“productsAvailable”在设置为假后显示为真。
router.post('/api/transactions', (req, res) => {
var productsAvailable = true
for(var i=0; i<3; i++) {
ProductM.findOne({name:"not available name"}).exec((err, product) => {
productsAvailable=false //set to false
})
console.log(productsAvailable) //this show true
}
})
谢谢
解决方案
这是异步功能,请登录其中:
ProductM.findOne({name:"not available name"}).exec((err, product) => {
productsAvailable=false
console.log(productsAvailable)
// you probably need to send response here
})
推荐阅读
- reactjs - 如何复制反应组件以进行错误记录?
- php - 将上传的图像存储到数据库 laravel 8
- python - 远程服务器上的文件存在检查器总是返回 255
- php - PHP/WordPress 解析错误,意外的“?”
- javascript - 使用 Angular 选择除禁用复选框之外的所有复选框检查
- javascript - 如何使用 react-music-player 组件播放本地 mp3 或 midi 文件
- c# - 如何将 PropertyInfo[] 转换为我的班级
- iis - 处理 IIS 中的授权标头
- python - Selenium Can't find "HOME" element on Facebook
- sql - 测试使用 SQL 连接池和提交的 Node JS 应用程序