首页 > 解决方案 > 无法在猫鼬回调函数中设置变量

问题描述

我不明白为什么“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
    }
})

谢谢

标签: javascriptmongoose

解决方案


这是异步功能,请登录其中:

ProductM.findOne({name:"not available name"}).exec((err, product) => {
    productsAvailable=false
    console.log(productsAvailable)
    // you probably need to send response here
})

推荐阅读