- 需求的场景描述(希望解决的问题)
exports.main = async(event, context) => {
console.log(event.id, event.name)
const dbName = event.name
// 先取出集合记录总数
const countResult = await db.collection(dbName).where({
areaid: _.eq(event.id)
}).count()
}
上面是部分代码,会报错误
Reduce of empty array with no initial value
dbName用具体的数据库名就能正常运行
请问是否这个命令不能使用变量代替数据库名?
Reduce of empty array with no initial value
你发的代码没问题,这个错误是reduce的初始值未设置,你代码里用了reduce吧
确实发现最后的代码含有这个,但是为什么会产生影响如何修改还请大神指点。
// 等待所有
return (await Promise.all(tasks)).reduce((acc, cur) => {
return {
data: acc.data.concat(cur.data),
errMsg: acc.errMsg,
}
})
我加了一些日志,发现确实数据库为空导致了数组为0,我加了数据之后就能用了。十分感谢提醒。