未处理的错误TypeError:使用forEach Firebase Cloud Functions时,snapshot.val不是函数

时间:2018-06-20 15:24:15

标签: javascript node.js firebase google-cloud-functions

我正在编写带有HTTPS触发器的Firebase Cloud Function,并且在满足所有{{1 }}方法被触发,我尝试使用Promise.all(arrayOfPromises)方法来迭代then(snapshotContainsArrayOfSnapshots),但出现此错误:

snapshotContainsArrayOfSnapshots

这是代码:     f

forEach(snapshot)

请记住:这不是Unhandled error TypeError: snapshot.val is not a function 触发器,所以我不需要呼叫let promisesArray = [] for(let i = 0; i < 10; i++){ const promise = db.ref(`/questions/en/${i}`) promisesArray.push(promise) } return Promise.all(promisesArray) .then((snapshotContainsArrayOfSnapshots) => { let data = [] snapshotContainsArrayOfSnapshots.forEach((snapshot) => { data.push(snapshot.val()) }) return JSON.stringify(data) })

1 个答案:

答案 0 :(得分:1)

您要添加到promisesArray的内容是References,请参阅文档here

对于每个引用,您都应使用once()方法(doc here)在引用处查询数据,而该方法所返回的承诺则需要添加到{ {1}}。

执行以下操作:

promisesArray