Необработанное предупреждение об ошибке: Ошибка типа: Не удается прочитать свойство «findIndex» неопределенного….. В МОЕМ проекте NODEJS

#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. Спасибо, мисс, в вашем коде есть некоторые пропущенные операторы, но ваш код помогает мне найти решение…….