首页 > 解决方案 > 'findIndex' 在 nodejs 中未定义

问题描述

在 nodejs 中,findIndex 是未定义的

let userCart = db.get().collection(collection.CART_COLLECTION).findOne({user:objectId(userId)})
            if (userCart){
                let proExist=userCart.products.findIndex(product=> product.item==proId)
                console.log(proExist);
            }

在我的控制台中它说:

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'findIndex' of undefined
at C:\Users\Toshiba\Desktop\Projects\E-Commerce Application\helpers\user-helper.js:49:48
at new Promise (<anonymous>)
at Object.addToCart (C:\Users\Toshiba\Desktop\Projects\E-Commerce Application\helpers\user-helper.js:46:16)

标签: javascript

解决方案


错误

无法读取未定义的属性“findIndex”

来自您的代码的这一行:

userCart.products.findIndex

这意味着您的userCart对象不包含属性products

您能否尝试使用Promisefor 语句从数据库中获取数据?在解析块中,您可以添加您的逻辑。


推荐阅读