【发布时间】:2019-04-30 13:52:27
【问题描述】:
部署后,我的数组似乎没有定义,我收到“forEach 不是函数”错误:
textPayload: "TypeError: currencies.forEach is not a function
at currenciesMenuConfiguration (/srv/menu/currencies-menu.js:22:16)
这里是货币数组的代码:
async function currenciesMenuConfiguration() {
currencies = await getCol("currencies")
currencies.forEach(element => {
return currenciesList[element[Object.keys(element)].id] = element[Object.keys(element)].current
});
}
在使用 currenciesMenuConfiguration() 定义后立即调用它
getCol 定义为:
// Get all documents in collection from Firestore
async function getCol(colName) {
return fs.collection(colName).get()
.then(res => {
return res.docs.map(doc => {
var rObj = {};
rObj[doc.id] = doc.data();
return rObj;
})
})
.catch(err => {
return `Error getting collection: ${err}`;
});
}
正如在 firebase 本地服务中提到的,这可以正常工作。部署后,我收到此错误。我是否遗漏了有关云中异步代码的某些内容?
此外,我将不胜感激任何有关我如何自己调试此问题的提示。 #BeginngersLife。
// 我已经检查了有关 firebase 服务与部署的问题,但它们主要处理与部署有关的问题,或者没有解决我面临的问题。一个可能有助于我进一步了解的问题是:firebase serve and debugging functions?。
【问题讨论】:
-
您可能想要记录您从
getCol("currencies")获得的信息,因为它似乎不是您所期望的。 -
嗨弗兰克,感谢您的建议。我确实在开发过程中记录了输出并忘记了它。谢谢!我确实返回了一个对象。不是数组。
-
好的。在这种情况下,我会将这个问题标记为错字。
标签: node.js firebase deployment google-cloud-functions