首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从防火墙获取数据到google云功能?

如何从防火墙获取数据到google云功能?
EN

Stack Overflow用户
提问于 2021-02-02 15:52:39
回答 2查看 901关注 0票数 1

我的index.js文件:

代码语言:javascript
运行
复制
const functions = require('firebase-functions');
const admin = require('firebase-admin');

const Firestore = require('@google-cloud/firestore');
const firestore = new Firestore();

admin.initializeApp();

const db = admin.firestore();

 exports.getName = functions.https.onCall((data, context) => {
    var docRef = db.collection("dogs").doc("{data.id}");
    var getDoc = docRef.get().then(doc => {
        return doc.get("name");
    })
 });

颤振项目中的代码:

代码语言:javascript
运行
复制
HttpsCallable callable = FirebaseFunctions.instance.httpsCallable("getName");
var temp = await callable({"id": "11"});
print(temp.data);

程序输出null,尽管集合中的文档"dogs“中有一个字段名为"11”的id。我正试图从消防局获取特定数据并将其返回。

控制台不显示任何错误,如果我返回其他任何内容,它将正常打印出来。

除了使用触发器(如: onWrite )之外,找不到任何关于从防火墙获取数据到云功能的文档。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-02 15:59:59

您尝试过使云功能异步吗?

代码语言:javascript
运行
复制
exports.getName = functions.https.onCall(async (data, context) => {
    var doc = await db.collection("dogs").doc("{data.id}").get();
    return doc.data().name;
 });
票数 2
EN

Stack Overflow用户

发布于 2021-02-02 16:38:23

Andi2.2 s的答案是正确的,但是让我解释一下为什么它不适用于使用then()的初始代码。

通过这样做:

代码语言:javascript
运行
复制
 exports.getName = functions.https.onCall((data, context) => {
    var docRef = db.collection("dogs").doc("{data.id}");
    var getDoc = docRef.get().then(doc => {
        return doc.get("name");
    })
 });

实际上,您不会在可调用的云函数中返回doc.get("name");then()方法确实返回Promise.resolve(doc.get("name")),就像在文档中解释的那样,但是不返回承诺链

下列措施将起作用:

代码语言:javascript
运行
复制
 exports.getName = functions.https.onCall((data, context) => {
    var docRef = db.collection("dogs").doc("{data.id}");
    return docRef.get().then(doc => {
        return doc.get("name");
    })
 });

顺便问一下,你确定db.collection("dogs").doc("{data.id}");是对的吗?不是应该是db.collection("dogs").doc(data.id);

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66013087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档