【发布时间】:2020-11-13 08:47:30
【问题描述】:
当我尝试通过版本 8.6.0 中 Firebase-Tools CLI 中的“firebase deploy --only functions”命令部署以下 Firebase Javascript 函数时,出现以下错误。
exports.notifyNewMessage = functions.firestore.document("posts/{postId}").onCreate((docSnapshot, context) => {
firestore.collection('accounts').get().then(function (querySnapshot) {
querySnapshot.forEach(function (doc) {
// doc.data() is never undefined for query doc snapshots
console.log(doc.id, " => ", doc.data());
return doc.data().name;
});
});
});
我在官方 firebase 文档中找到了这个示例代码:https://firebase.google.com/docs/firestore/query-data/get-data#get_all_documents_in_a_collection
当我尝试部署代码时,正在运行 esLint Check,我收到以下错误:
2:5 error Expected catch() or return promise/catch-or-return
2:49 warning Unexpected function expression prefer-arrow-callback
2:49 error Each then() should return a value or throw promise/always-return
3:31 warning Unexpected function expression prefer-arrow-callback
我必须如何修复这些错误? 谁能给我一个例子,Catch 的 Promise 应该是什么样子?
我的目标是让用户帐户数据记录在控制台中,以便以后进行进一步的操作。但我还不知道如何让这些用户数据记录在控制台中。
【问题讨论】:
-
您的云函数的确切目标是什么?您需要正确返回异步方法返回的 Promises 链。
-
不清楚您希望我们如何回答这个问题。您想禁用 linting(可能不会)还是想知道如何在
Promise上使用.catch()? -
如果您单独搜索每条消息,您将找到有关其含义以及如何更正它的信息。每条消息还告诉您它所指的代码行。
标签: javascript firebase promise google-cloud-functions