#node.js
Вопрос:
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'findIndex' of undefined
at User.addToCart (D:Pradip_AllNodejs- tutorials video (MONGODB)modelsuser.js:20:46)
at D:Pradip_AllNodejs- tutorials video (MONGODB)controllersshop.js:70:23
at processTicksAndRejections (internal/process/task_queues.js:93:5)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:11212) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict`
(see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:11212) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Комментарии:
1. Вместо изображений попробуйте опубликовать свой код, чтобы мне было легче понять и ответить
2. Можете ли вы добавить код для
user.js
?
Ответ №1:
Вам следует добавить ?
необязательный оператор цепочки, который проверяет, существует ли значение в объекте.
const cartProductIndex = this.cart?.items?.findIndex((cp) => {
return cp.productId.toString() === product._id.toString()
})
Комментарии:
1. Спасибо, мисс, в вашем коде есть некоторые пропущенные операторы, но ваш код помогает мне найти решение…….