【问题标题】:How to get X independents Nodes in one sentence Firebase Realtime DB js一句话Firebase Realtime DB js如何获取X个独立节点
【发布时间】:2022-08-17 22:41:24
【问题描述】:

我想知道是否可以在与 JS 相同的请求中获取一些节点(我有完整的路径)

例子 。

  • 索引
    • key1
    • 键2
    • 键3
    • key4
    • key5

其实我这样做:

get(child(dbRef, `index/`+key1)).then((snap) => {
    get(child(dbRef, `index/`+key3)).then((snap) => {

    });
});

我怎样才能用一句话得到key1和key3(可能有承诺?) 谢谢

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    Firebase 实时数据库只能获取单个路径,或该路径下的直接子节点的一部分(通过查询)。它没有一个 API 可以在超出该路径的路径下获取多个特定的子节点。

    所以你确实需要为每个孩子单独打电话。但请记住,Firebase 通过单个(Web 套接字)连接对这些请求进行管道传输,因此这并不像您最初预期的那么慢。有关更多信息,请参阅Speed up fetching posts for my social network app by using query instead of observing a single event repeatedly

    如果您要简化代码以等待两个get 调用完成,您可以使用Promise.all

    Promise.all([
      get(child(dbRef, `index/`+key1)),
      get(child(dbRef, `index/`+key3))
    ]).then((snapshots) => {
      snapshots.forEach((snapshot, i) => {
        console.log(i, snapshot.key, snapshot.val());
      });
    });
    

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 1970-01-01
      • 2022-01-03
      • 2021-11-29
      • 2016-03-12
      • 2017-08-24
      • 2019-11-14
      • 2019-07-06
      • 2015-08-06
      相关资源
      最近更新 更多