繁体   English   中英

Firebase 谷歌云函数返回一个快照

Firebase google cloud function to return a Snapshot

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

是否可以从 Firebase 谷歌云功能返回这样的快照?

exports.getFreshData = functions.https.onCall(async (data, context) => {
  const ref = data.ref;
  try {
    const snap = await admin.database().ref(ref).once("value");
    return {res: true, snapshot: snap};
  } catch (e) {
    error(e);
    return false;
  }
});

当我从客户端调用此函数时,出现以下错误:

Unhandled error RangeError: Maximum call stack size exceeded
    at keys (/workspace/node_modules/lodash/lodash.js:13333:60)
    at /workspace/node_modules/lodash/lodash.js:4920:21
    at baseForOwn (/workspace/node_modules/lodash/lodash.js:2990:24)
    at Function.mapValues (/workspace/node_modules/lodash/lodash.js:13426:7)
    at encode (/workspace/node_modules/firebase-functions/lib/providers/https.js:184:18)
    at /workspace/node_modules/lodash/lodash.js:13427:38
    at /workspace/node_modules/lodash/lodash.js:4925:15
    at baseForOwn (/workspace/node_modules/lodash/lodash.js:2990:24)
    at Function.mapValues (/workspace/node_modules/lodash/lodash.js:13426:7)
    at encode (/workspace/node_modules/firebase-functions/lib/providers/https.js:184:18) 

但是,如果我返回snap.val() ,它运行得很好。 我希望能够返回快照。 可能吗?

1 个回复

Callable Cloud Functions 只能返回 JSON 类型,如有关返回值的文档中所述:

要将数据发送回客户端,请返回可以 JSON 编码的数据。

DatabaseSnapshot不是 JSON 类型,而是更复杂的 JavaScript 对象。 您通常希望返回快照的值,或者它的键和它的值:

return { res: true, key: snap.key, value: snap.val() };
1 Firebase 函数 - 如何从云 function 返回文档快照?

问题注意:使用以下代码块设置查询: 我有一个 firebase 云 function 从电影集合中检索数据(演员)。 对于分页,我使用的是文档参考,如下所示: 如您所见,每次检索 N (=5) 个文档时,我都会获取最后一个文档的引用并更新分页的偏移量。 然后,我将它(更新的偏移量)发回给客户端,如 ...

4 Firebase云功能始终获取空快照

在交互式shell中测试firebase云功能时,我遇到一些问题( firebase experimental:functions:shell )。 在onWrite事件中,当我第一次调用event.data.val()时,它会返回null,而不是返回我期望的信息。 另外,在那之后,当我通过 ...

5 获取 Firebase 云函数快照子数据

花了一整天的时间。 我真的在为 Typescript 和 Firebase Cloud Functions 苦苦挣扎。 我想 1) 监视我的数据库的“购买”节点。 当进行新购买时,我想 2) 汇总所有用户的购买,然后 3) 将其发送到我的 CRM (sendinblue)。 我可以让#1 完成监控 ...

6 将Firebase Cloud Function称为快照的'ForEach'子级

我正在尝试部署Firebase Cloud Function,该功能将文本消息发送给与之关联的收件人,以获得x条文本消息。 当对“发送”实时数据库参考进行更新时,表明用户已按下“发送”按钮,将在我的iOS应用中触发该功能。 我的Firebase结构是 我的代码当前仅发送一条消息, ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM