【发布时间】:2021-04-30 00:54:05
【问题描述】:
在 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)
【问题讨论】:
-
那是因为
userCart.products未定义,请确保它是一个数组。 -
这是因为 userCart 没有任何 products 键!
-
"findIndex 未定义" 这不是错误所说的。它告诉您它无法读取
findIndex来自undefined。无论它试图在findIndex上执行什么,都是undefined。 -
我的猜测是第一行将 Promise 分配给
userCart,而不是购物车对象。您可能需要awaitdb 命令。
标签: javascript