TypeError:无法在Promise.all.inventory.map

时间:2018-10-05 09:53:46

标签: javascript node.js mongodb npm

有人知道如何解决吗?

第132行代码:-

              if (!item.rarity) {
                const rarity = (
                  tags.find((t) => t.category === 'Rarity') || {}
                ).name

                updateQuery = { ...updateQuery, rarity }
              }

输出:-

  

(节点:58908)弃用警告:不建议使用collection.update。采用   改为使用updateOne,updateMany或bulkWrite。 (节点:58908)   UnhandledPromiseRejectionWarning:TypeError:无法读取属性   空的“稀有”       在Promise.all.inventory.map(C:\ protect1 \ utilities \ inventoryFetch.js:132:29)       在(节点:58908)处UnhandledPromiseRejectionWarning:未处理的承诺被拒绝。该错误是由于抛出   在没有catch块的异步函数内部,或者通过拒绝   没有使用.catch()处理的Promise。 (拒绝ID:1)

1 个答案:

答案 0 :(得分:0)

您的“项目”在代码的这一点上获得未定义的值。

由于它在返回Promise的函数中,并且您显然没有通过catch()块处理错误情况,所以此错误会弹出。

在if-else块之前记录item变量。

在使用此函数的任何地方放置catch()块,并在其中记录错误本身。