javascript - TypeError:无法在 Promise.all.inventory.map 读取 null 的属性“稀有”
问题描述
有谁知道如何修理它?
代码第 132 行:-
if (!item.rarity) { const rarity = ( tags.find((t) => t.category === 'Rarity') || {} ).name updateQuery = { ...updateQuery, rarity } }
输出:-
(节点:58908)DeprecationWarning:collection.update 已弃用。请改用 updateOne、updateMany 或 bulkWrite。(node:58908) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'rarity' of null at Promise.all.inventory.map (C:\protect1\utilities\inventoryFetch.js:132:29) at (node:58908) UnhandledPromiseRejectionWarning: Unhandled承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。(拒绝编号:1)
解决方案
在代码的这一点上,您的“项目”的值未定义。
由于它在一个返回 Promise 的函数中,并且您显然没有通过 catch() 块处理错误情况,因此会弹出此错误。
在 if-else 块之前记录 item 变量。
在使用此函数的任何地方放置一个 catch() 块并在那里记录错误。
推荐阅读
- php - 我的搜索脚本正在查找不应该的地址行
- python-3.x - 用于分类的自动编码器 2 潜在空间
- python - 如何从多个列表中创建一列?
- css - 我希望链接在鼠标悬停时响应,而不是在空白处
- docker - 在 ubuntu 18.04 上升级后,docker tensorflow/gpu 镜像无法运行
- spring-boot - 如何在表中只存储 10 行
- python - 在 mongoDB 上执行互斥的读写操作?
- python - ResNet 总是出现同样的错误:InvalidArgumentError: Input to reshape is a tensor with 2983244 values, but the requested shape has 2865808
- vscode-extensions - VS Code 扩展命令图标不起作用
- java - 忘记密码功能在向用户发送电子邮件时永远加载,为什么?