我试图通过在 Firebase 的触发云函数中使用 firebase-admin 来获取内部文档:exports.onTransactionCreated = functions.firestore .document("transaction/{id}") .onCreate((snapshot, context) => { const first = Date.now(); admin.firestore().collection('myCollection').doc(snapshot.data().myDocumentId).get() .then((documentSnapshot) => { const second = Date.now(); functions.logger.log(`seconds total = ${Math.floor((third - first) / 1000)}`); }}控制台日志显示此结果:seconds bw 1-2 elapsed = 140使用的版本:"engines": { "node": "12" }, "dependencies": { "firebase-admin": "^9.2.0", "firebase-functions": "^3.11.0" }在什么情况下可以检索到这么长的文档?即使在冷启动的情况下,我也不敢相信会这么久。这个问题实际上是我的应用程序的一大痛点,我们将不胜感激任何帮助。
1 回答
海绵宝宝撒
TA贡献1809条经验 获得超8个赞
您的函数需要返回一个在所有异步工作完成后解析的承诺。现在,您的函数不返回任何内容,这意味着它会在不等待任何事情的情况下终止。
至少,您应该返回 返回的承诺get().then(...)。
exports.onTransactionCreated = functions.firestore
.document("transaction/{id}")
.onCreate((snapshot, context) => {
const first = Date.now();
return admin.firestore().collection('myCollection').doc(snapshot.data().myDocumentId).get()
.then((documentSnapshot) => {
const second = Date.now();
functions.logger.log(`seconds total = ${Math.floor((third - first) / 1000)}`);
}
}
添加回答
举报
0/150
提交
取消