部署后,我的数组似乎未定义,并且出现“ 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?。
答案 0 :(得分:0)
请参阅以下问题的评论:我确实没有返回数组,而是返回了一个对象。闭幕。感谢@Frank van Puffelen的提示。