试图使带有节点js的https requset成为Firebase
我正在尝试使用node.js获取Firestore中集合中的所有文档,但是我无法获得任何文档有人知道此功能出了什么问题
exports.getTasksNew8 = functions.https.onRequest((request,response) => {
admin.firestore().collection('users/admin/settings').get().then(querySnapshot=>{
querySnapshot.forEach(documentSnapshot=>{
console.log(documentSnapshot.id)
})
}).catch(error=>{
console.log(error)
})
response.send('works ok)
})
回答如下:get()
方法是异步的,并返回一个Promise:您应该在get()
方法中“处理”结果。参见then()
和https://developer.mozilla/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/then以及What does the function then() mean in JavaScript?
通过在https://scotch.io/tutorials/javascript-promises-for-dummies#toc-promises-are-asynchronous外部执行response.send('works ok)
,您向Cloud Function指示它可以在完成异步then()
之前完成。
如下修改您的代码:
get()